티스토리 뷰

Java/Spring

Bean 의존 관계 설정 방법

작은 거인 2017. 1. 7. 13:45

Setter Injection : <property> 태그


Setter 메소드를 통해 의존관계가 있는 Bean을 주입하려면 <property> 태그를 사용할 수 있다.

 - ref 속성을 사용하면 Bean이름을 이용해 주입할 Bean을 찾는다.

 - value 속성은 단순 값 또는 Bean이 아닌 객체를 주입할 때 사용한다.

<<Give it a shot>> : 간단한 POJO 클래스를 통한 DI 이해 <-링크를 통해 확인.



Constructor Injection : <constructor-arg> 태그


Constructor를 통해 의존 관계가 있는 Bean을 주입하려면 <constructor-arg> 태그를 사용할 수 있다.

Constructor 주입방식은 생성자의 파라미터를 이용하기 때문에 한번에 여러 개의 객체를 주입할 수 있다.

 - index 속성을 사용하는 방법과 name 속성을 이용하는 방법으로 나뉜다.

<<Give it a shot>>

Setter Injection에서 사용한 Hello.class 에 생성자 추가


Setter Injection에서 사용한 bean.xml 7~10행 내용 추가


Setter Injection에서 사용한 HelloBeanTest.class에서 getBean 메서드의 argument로 추가한 빈의 이름을 넣는다.

* 결과는 생략



Collection Type의 값 설정


Spring은 List, Set, Map, Properties와 같은 컬렉션 타입을 XML로 작성해서 프로퍼티에 주입하는 방법을 제공.


List와 Set 타입 : <list>와 <value> 태그를 이용.

 - 프로퍼티가 Set 타입이면 <list> 대신 <set>을 사용.

 - 사용예

출처 : Tacademy


Map 타입 : <map>과 <entry>태그를 이용.

 - 사용예

출처 : Tacademy


<<Give it a shot>>

Hello.class에 names라는 리스트 타입의 변수 선언.


bean.xml에 양식에 맞게 입력


HelloBeanTest.class 에서 호출하고 정상적으로 value 값이 출력되는지 확인.

* 결과 생략.



Property File을 이용한 설정 방법


환경에 따라 자주 변경되는 값들은 properties 파일에 넣어 분리하는 것이 좋다.


<<Give it a shot>>

New -> File -> value.properties 생성 후, 아래와 같이 입력.


치환자 ${ }를 사용할 수 있도록 Bean의 Namespace 항목에서 context를 선택하고, <context:property-placeholder> 태그를 사용. 이후 아래와 같이 치환.

* 결과 생략


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함