소소한개발팁
article thumbnail
반응형

Setter Injection : <property> 태그

Consructor Injection : <constructor-arg> 태그

Constructor를 통해 의존관계가 있는 Bean을 주입하려면 

<constructor-arg>태그를 사용할 수 있다.

 

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

생성자 주입을 위한 설정 : Index 지정

컬렉션 (Collection) 타입의 값 주입

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

 

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

프로퍼티가 set 타입 이면 <list> 대신에 <set>을 사용하면 된다.

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

 

환경에 따라 자주 변경되는 내용의 분리

*XML의 Bean 설정 메타정보는 애플리케이션 구조가 바뀌지 않으면 자주 변경되지 않는다.

*반면에 프로퍼티 값으로 제공되는 일부 설정정보(예-DataSource Bean이 사용하는 DB 연결정보)는 애플리케이션이 동작하는 환경(개발,테스트,스테이징,운영)에 따라서 자주 바뀔 수 있다.

*변경되는 이유와 시점이 다르다면 분리하는 것이 객체지향 설계의 기본 원칙이다. 설정에도 동일한 원칙을 적용할 수 있다.

*환경에 따라 자주 변경될 수 있는 내용은 properties 파일로 분리하는 것이 가장 깔끔하다 XML처럼 복잡한 구성이 필요 없고 키와 값의 쌍(key=value)로 구성하면 된다.

 

프로퍼티 파일로 분리한 정보는 ${} (프로퍼티 치환자) 를 이용하여 설정한다.

${ } 값을 치환해주는 기능은 <context:property-placeholder>태그에 의해 자동으로 등록되는 PropertyPlaceHolderConfigurer Bean 이 담당한다.

반응형

'프레임워크 > Spring' 카테고리의 다른 글

사용자관리 프로젝트  (0) 2020.01.08
Bean 등록 메타정보 구성 전략 및 어노테이션  (0) 2020.01.08
EL 과 JSTL  (0) 2020.01.06
Spring MVC  (0) 2020.01.06
Spring JDBC  (0) 2020.01.03
profile

소소한개발팁

@개발자 뱅

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!