더북(TheBook)

3.4.2 BeanFactory 구현체

BeanFactory 인터페이스에 대한 설명이 지나치게 복잡하게 느껴질 수도 있지만 실제로는 그렇지 않습니다. 간단한 예를 살펴보겠습니다. 삶의 의미를 알려주는 오라클(oracle, 신탁)을 모방한 예제를 살펴보겠습니다.

예제 3-11 Oracle 인터페이스와 BookwormOracle 클래스([[setter-injection]] Oracle.java, BookwormOracle.java)

//인터페이스
package com.apress.prospring5.ch3;

public interface Oracle { String defineMeaningOfLife(); }

//구현체 package com.apress.prospring5.ch3;

public class BookwormOracle implements Oracle { private Encyclopedia encyclopedia;

<span class="kd">public</span> <span class="kt">void</span> <span class="nf">setEncyclopedia</span><span class="o">(</span><span class="n">Encyclopedia</span> <span class="n">encyclopedia</span><span class="o">)</span> <span class="o">{</span>
    <span class="k">this</span><span class="o">.</span><span class="na">encyclopedia</span> <span class="o">=</span> <span class="n">encyclopedia</span><span class="o">;</span>
<span class="o">}</span>

<span class="nd">@Override</span>
<span class="kd">public</span> <span class="n">String</span> <span class="nf">defineMeaningOfLife</span><span class="o">()</span> <span class="o">{</span>
    <span class="k">return</span> <span class="s">"Encyclopedias are a waste of money - go see the world instead"</span><span class="o">;</span>
<span class="o">}</span>

}

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.