-
[Spring] CollectionSPRING 2021. 8. 19. 16:55
세 가지 유형이 있다. (List, Set, Map)
1. List
package com.springbook.ioc.injection; import java.util.List; public class CollectionBean { private List<String> addressList; public List<String> getAddressList() { return addressList; } public void setAddressList(List<String> addressList) { System.out.println(addressList.size()); this.addressList = addressList; } }
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="collection" class="com.springbook.ioc.injection.CollectionBean"> <property name="addressList"> <list> <value>서울시 영등포구</value> <value>부천시 원미구</value> </list> </property> </bean> </beans>
package com.springbook.ioc.injection; import java.util.List; import org.springframework.context.annotation.Bean; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.GenericXmlApplicationContext; public class CollectionBeanClient { public static void main(String[] arhs) { AbstractApplicationContext factory = new GenericXmlApplicationContext("applicationContext2.xml"); CollectionBean bean = (CollectionBean)factory.getBean("collectionBean"); List<String> list = bean.getAddressList(); for(int i = 0 ; i<list.size(); i++) { String a = list.get(i).toString(); System.out.println(a); } } }
2.set
package com.springbook.ioc.injection; import java.util.Set; public class CollectionBean { private Set<String> addressList; public Set<String> getAddressList() { return addressList; } public void setAddressList(Set<String> addressList) { System.out.println(addressList.size()); this.addressList = addressList; } }
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="collectionBean" class="com.springbook.ioc.injection.CollectionBean"> <property name="addressList"> <set> <value>서울시 영등포구</value> <value>부천시 원미구</value> </set> </property> </bean> </beans>
package com.springbook.ioc.injection; import java.util.Set; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.GenericXmlApplicationContext; public class CollectionBeanClient { public static void main(String[] arhs) { AbstractApplicationContext factory = new GenericXmlApplicationContext("applicationContext2.xml"); CollectionBean bean = (CollectionBean)factory.getBean("collectionBean"); Set<String> addressList = bean.getAddressList(); for(String list : addressList) { System.out.println(list); } } }
3.map
package com.springbook.ioc.injection; import java.util.Map; public class CollectionBean { private Map<String,String> addressList; public Map<String,String> getAddressList() { return addressList; } public void setAddressList(Map<String,String> addressList) { System.out.println(addressList.size()); this.addressList = addressList; } }
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- <bean id="collectionBean" class="com.springbook.ioc.injection.CollectionBean"> <property name="addressList"> <set> <value>서울시 영등포구</value> <value>부천시 원미구</value> </set> </property> </bean> --> <bean id="collectionBean" class="com.springbook.ioc.injection.CollectionBean"> <property name="addressList"> <map> <entry> <key> <value>고길동</value> </key> <value>서울시 영등포구</value> </entry> <entry> <key> <value>마이클</value> </key> <value>부천시 원미구</value> </entry> </map> </property> </bean> </beans>
package com.springbook.ioc.injection; import java.util.Iterator; import java.util.Map; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.GenericXmlApplicationContext; public class CollectionBeanClient { public static void main(String[] arhs) { AbstractApplicationContext factory = new GenericXmlApplicationContext("applicationContext2.xml"); CollectionBean bean = (CollectionBean)factory.getBean("collectionBean"); Map<String, String> addressList = bean.getAddressList(); 1. Iterator<String> list = addressList.keySet().iterator(); while(list.hasNext()) { String key = list.next(); String value = addressList.get(key); System.out.println(String.format("키:%s, 값:%s", key,value)); //System.out.println(String.format("키:%s, 값:%s",key,addressList.get(key))); } 2. for(String list : addressList.keySet()) { System.out.println(String.format("키 : %s, 값 : %s",list,addressList.get(list))); } } }
4.properties
package com.springbook.ioc.injection; import java.util.Properties; public class CollectionBean { private Properties addressList; public Properties getAddressList() { return addressList; } public void setAddressList(Properties addressList) { this.addressList = addressList; } }
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="collectionBean" class="com.springbook.ioc.injection.CollectionBean"> <property name="addressList"> <props> <prop key="고길동">서울시 영등포구 여의도1동</prop> <prop key="마이클">서울시 영등포구 여의도2동</prop> </props> </property> </bean> </beans>
package com.springbook.ioc.injection; import java.util.Properties; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.GenericXmlApplicationContext; public class CollectionBeanClient { public static void main(String[] arhs) { AbstractApplicationContext factory = new GenericXmlApplicationContext("applicationContext2.xml"); CollectionBean bean = (CollectionBean)factory.getBean("collectionBean"); Properties addressList = bean.getAddressList(); for(String list : addressList.stringPropertyNames()) { System.out.println(String.format("키:%s,값:%s", list,addressList.get(list))); } } }
728x90'SPRING' 카테고리의 다른 글
[SPRING] 데이터 추가, 변경, 삭제 (0) 2021.08.24 [SPRING] Spring 의존성 (0) 2021.08.21 [SPRING] Spring Container (0) 2021.08.21 [spring] 20AUG21 @Autowired @Service @Repository (0) 2021.08.20 [spring]의존 자동 주입 어노테이션 (0) 2021.08.20