스프링 Collection 객체 설정

컬렉션 유형 엘리먼트
java.util.List, 배열 <list>
java.util.Set <set>
java.util.Map <map>
java.util.Properties <props>

List 타입 매핑

* 매핑(mapping)이란 하나의 값을 다른 값으로 대응시키는 것을 말한다.

<bean id="빈 아이디" class="클래스 주소">

<property name="메소드이름">

<list>

<value>리스트1</value>

<value>리스트2</value>

</list>

</property>

</bean>

Map 타입 매핑

<bean id="빈 아이디" class="클래스 주소">

<property name="메소드이름">

<map>

<entry>

<key><value>킴썽</value></key>

<value> 한화 이글스 만세 </value>

</entry>

<entry>

<key><value>하루키</value></key>

<value> 야쿠르트 스왈로즈 만세 </value>

</entry>

</map>

</property>

</bean>

<entry>엘리먼트에서 사용된 <key>엘리먼트는 Map 객체의 key값을 설정할 때 사용,

<value> 엘리먼트는 Map객체의 value를 설정할 때 사용

Set 타입 매핑

<bean id="빈 아이디" class="클래스 주소"> 

<property name="메소드이름">

<set value-type="java.lang.String"> ->여기는 근데 int타입을 넣고싶으면 java.lang.Integer 넣으면 되는건가

<value> 한화이글스 화이팅 </value>

<value> 한화이글스 화이팅 </value>

<value> KT 위즈도 힘내랑! </value>

</set>

</property>

</bean>

중복값을 허용하지 않는 경우에 사용하는 set 컬렉션이다. 위의 예는 메소드를 호출할 때 문자열 타입의 데이터 여러개를 저장한 Set 컬렉션을 인자로 전달하겠다는 설정이다. 그런데 위 설정을 보면 “한화이글스 화이팅”이라는 문장이 두 번 등록된 것을 볼 수 있다.

Set 컬렉션은 같은 데이터를 중복해서 저장하지 않으므로 실제 실행해보면 “한화이글스 화이팅”은 한 번만 저장된다.


Properties 타입 매핑

<bean id="빈 아이디" class="클래스 주소">

<property name="메소드 이름">

<props>

<prop key="킴썽">한화를 응원합니다. </prop>

<prop key="무라카미하루키"> 야쿠르트 스왈로즈를 응원합니다. </prop>

</props>

</property>

</bean>

key=value 형태의 데이터를 등록하고 사용할 때 Properties라는 컬렉션을 사용한다.

0%