티스토리 뷰
Setter Injection : <property> 태그
Setter 메소드를 통해 의존관계가 있는 Bean을 주입하려면 <property> 태그를 사용할 수 있다.
- ref 속성을 사용하면 Bean이름을 이용해 주입할 Bean을 찾는다.
- value 속성은 단순 값 또는 Bean이 아닌 객체를 주입할 때 사용한다.
<-링크를 통해 확인.
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> 태그를 사용. 이후 아래와 같이 치환.
* 결과 생략
'Java > Spring' 카테고리의 다른 글
사용자 관리 프로젝트 아키텍쳐 (0) | 2017.01.08 |
---|---|
Annotation을 이용한 Bean 등록 (0) | 2017.01.07 |
간단한 POJO 클래스를 통한 DI 이해 (0) | 2017.01.07 |
IoC (Inversion of Control)와 DI (Dependency Injection) (0) | 2017.01.06 |
Spring Framework 개요 (0) | 2017.01.06 |