본문 바로가기
  • 실행력이 모든걸 결정한다
Spring Series/Spring Framework

[Spring] Collection 타입을 XML로 작성하기

by 김코더 김주역 2022. 6. 21.
반응형

1. List

- 아래 예시와 같이 <list>와 <value>를 이용한다.

<property name="myList">
    <list>
    	<value>David</value>
        <value>Lamb</value>
        <value>Jooyeok</value>
    </list>
</property>

 

2. Set

- 아래 예시와 같이 <set>과 <value>를 이용한다.

<property name="mySet">
    <set>
    	<value>David</value>
        <value>Lamb</value>
        <value>Jooyeok</value>
    </set>
</property>

 

3. Map

- 아래 예시와 같이 <map>과 <entry>를 이용한다.

<property name="myMap">
    <map>
    	<entry key="David" value="80" />
        <entry key="Lamb" value="100" />
        <entry key="Jooyeok" value="90" />
    </map>
</property>

 

4. Properties

- 아래 예시와 같이 <props>와 <prop>를 이용한다.

<property name="mySettings">
    <props>
    	<prop key="David">80</prop>
        <prop key="Lamb">100</prop>
        <prop key="Jooyeok">90</prop>
    </props>
</property>

 

 

5. util 스키마

- Collection을 property 값으로 선언하는 대신 독립적인 bean으로 만들 수 있으며, 이 때 util 스키마의 전용 태그를 사용한다.

 

1) List

- 아래 예시와 같이 <util:list>와 <value>를 이용한다.

<util:list id="myList">
    <value>David</value>
    <value>Lamb</value>
    <value>Jooyeok</value>
</util:list>

- 아래 예시와 같이 list-class 속성을 이용하여 List 구현 클래스를 지정할 수도 있다.

<util:list id="myList" list-class="java.util.LinkedList">
    ...
</util:list>

 

2) Set

- 아래 예시와 같이 <util:set>과 <value>를 이용한다.

<util:set id="mySet">
    <value>David</value>
    <value>Lamb</value>
    <value>Jooyeok</value>
</util:set>

- set-class 속성을 이용하여 Set 구현 클래스를 지정할 수도 있다.

 

3) Map

- 아래 예시와 같이 <util:map>과 <entry>를 이용한다.

<util:map id="myMap">
    <entry key="David" value="80" />
    <entry key="Lamb" value="100" />
    <entry key="Jooyeok" value="90" />
</util:map>

- map-class 속성을 이용하여 Map 구현 클래스를 지정할 수도 있다.

 

4) Properties

- 아래 예시와 같이 <util:properties>와 <prop>를 이용한다.

<util:properties id="mySettings">
    <prop key="David">80</prop>
    <prop key="Lamb">100</prop>
    <prop key="Jooyeok">90</prop>
</util:properties>

- XML에 직접 <prop>를 등록하는 대신에 외부의 프로퍼티 파일을 참조할 수도 있다.

<util:properties id="mySettings" location="classpath:application.properties" />

 

 

 

+ 추가 개념) Collection에는 bean을 넣을 수도 있다.

<property name="myList">
    <list>
    	<ref bean="beanA" />
        <ref bean="beanB" />
    </list>
</property>

 

 

 

● 참고 자료 : 토비의 스프링 3.1 Vol.2

반응형

댓글