앞서 DI에는 2가지 방식이 있다고 말했으며 생성자(Constructor) 방식에 대해서 소개한 바 있다.
이번에는 2번째 방식인 Property 방식인데
Property 방식은 <property> 태그를 사용하며, name 속성을 이용해 프로퍼티 이름을 지정한다.
Value 혹은 Ref 태그를 사용해 값을 설정할 수 있다.
1
2
3
|
<bean id=a class=a>
<property name="anum" value="1" />
</bean>
|
1
2
3
|
<bean id=b class=b>
<property name="bnum" ref="a" />
</bean>
|
(property 방식 지정 예시)
Property 방식은 다른 이름으로 setter 방식이라고도 하는데 setproperty이름() 형식의 메서드를 이용해 값을 설정하는 것이 일반적이다.
ex) setAnum(1)
setBnum(a)
XML을 통해 DI 설정을 하였다면
컨테이너를 만드는 방법으로 GenericXmlApplicationContext 클래스를 사용한다.
1
2
|
GenericXmlApplicationContext ctx = new GenericXmlApplicationContext("classpath:config.xml");
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
GenericXmlApplicationContext 객체 생성 예시
(config.xml 파일을 참조해 컨테이너를 생성한다.)
ctx 말고도 Annotation 방식이 있는데 Annotation 방식은 뒷장에 설명할 예정이다.