티스토리 뷰
728x90
반응형
XML 파일의 <property> 및 <constructor-arg> 요소에서 스프링 <beans> 스키마에 정의된 <list>, <map>, <set>
의 요소를 사용하면 List, Map, Set의 형식의 속성과 생성자 인자를 설정할 수 있습니다.
Case 01 - Property Type
- 첫번째 방법 - <value> 요소를 사용하여 key = value 형식으로 지정할 수 있습니다.
- 두번째 방법 - <props> 요소를 사용하여 내부에 <prop> 요소의 key 특성과 value형식으로도 사용할 수 있습니다.
<bean id="dataTypes" class="com.spring.beans.DataTypesExample">
<!-- Property Type -->
<constructor-arg name="propertiesType">
<value>
x = y
a = b
</value>
</constructor-arg>
<!-- Property Type -->
<constructor-arg name="anotherPropertiesType">
<props>
<prop key="book">Getting started with the Spring Framework</prop>
</props>
</constructor-arg>
</bean>
Case 02 - List Type
- <list> 요소를 사용하여 값을 지정할 수 있습니다.
- <list>의 특성 중 value-type을 사용하여 생성자 인자가 받는 요소의 형식을 지정할 수 있습니다.
- value-type은 선택사항이며, value-type 특성을 지정하면 스프링 컨테이너는 등록된 속성 편집기를 사용해 값을 value-type 특성으로 지정된 형식으로 변환하며, 필요한 경우 매개변수화된 List 형식에서 허용되는 형식으로 다시 변환할 수 있습니다.
- value-type 특성을 지정하지 않으면 스프링 컨테이너는 간단히 등록된 속성 편집기를 사용해 값을 매개변수화된 List 형식에서 허용되는 형식으로 변환합니다.
<bean id="dataTypes" class="com.spring.beans.DataTypesExample">
<!-- List Type -->
<constructor-arg name="listType">
<list value-type="java.lang.Integer">
<value>1</value>
<value>2</value>
</list>
</constructor-arg>
<constructor-arg name="anotherlistType">
<list>
<ref bean="aBean" />
<ref bean="bBean" />
</list>
</constructor-arg>
</bean>
<bean id="aBean" class="example.ABean" />
<bean id="bBean" class="example.BBean" />
Case 03 - Map Type
- <map> 요소를 사용하여 값을 지정할 수 있습니다.
- 사용 방법은 아래 예제와 같으며 key-type, value-type 특성을 지정하여 허용하는 키와 값의 형식을 지정할 수 있습니다.
<bean id="dataTypes" class="com.spring.beans.DataTypesExample">
<!-- Map Type -->
<constructor-arg name="mapType">
<map>
<entry>
<key><value>map key 1</value></key>
<value>map key 1’s value</value>
</entry>
</map>
</constructor-arg>
<constructor-arg name="anotherMapTypeOne">
<map>
<entry key="1" value="map key 1’s value" />
</map>
</constructor-arg>
<constructor-arg name="anotherMapTypeTwo">
<map>
<entry key="1">
<list>
<value>문자열1</value>
<value>문자열2</value>
<value>문자열3</value>
</list>
<entry>
</map>
</constructor-arg>
<constructor-arg name="anotherMapTypeTwo">
<map>
<entry>
<key>
<ref bean="aBean" />
</key>
<ref bean="bBean" />
<entry>
</map>
</constructor-arg>
</bean>
<bean id="aBean" class="example.ABean" />
<bean id="bBean" class="example.BBean" />
Case 04 - Set Type
- <set> 요소를 사용하여 값을 지정할 수 있습니다.
- value-type 특성에는 Set에 하용되는 형식을 지정할 수 있습니다.
<bean id="dataTypes" class="com.spring.beans.DataTypesExample">
<!-- Set Type -->
<constructor-arg name="setType">
<set>
<value>Element 1</value>
<value>Element 2</value>
</set>
</constructor-arg>
</bean>
728x90
반응형
'JAVA > Spring' 카테고리의 다른 글
Spring - XML 빈 설정 중 싱글턴 빈과 프로토타입 범위 빈의 의존성 (0) | 2021.10.25 |
---|---|
Spring - XML 빈 설정 중 properties 사용하기 (0) | 2021.10.25 |
Spring - Bean설정 시 생성자 인자 연결 (0) | 2021.10.18 |
Spring - 빈의 범위(Bean Scope) (0) | 2021.10.17 |
Spring - naverEmail 또는 gmail로 이메일 발송하기 (0) | 2021.07.08 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- pipe and filter architecture
- spring boot redisson sorted set
- 자바 백엔드 개발자 추천 도서
- spring boot excel download oom
- 서비스 기반 아키텍처
- 람다 표현식
- pipeline architecture
- spring boot redisson destributed lock
- polling publisher spring boot
- transactional outbox pattern
- redis 대기열 구현
- 공간 기반 아키텍처
- JDK Dynamic Proxy와 CGLIB의 차이
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- java userThread와 DaemonThread
- microkernel architecture
- java ThreadLocal
- spring boot poi excel download
- redis sorted set으로 대기열 구현
- spring boot 엑셀 다운로드
- spring boot excel download paging
- space based architecture
- 트랜잭셔널 아웃박스 패턴 스프링부트
- spring boot redisson 분산락 구현
- 레이어드 아키텍처란
- spring boot redis 대기열 구현
- @ControllerAdvice
- redis sorted set
- service based architecture
- transactional outbox pattern spring boot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함