CollectionBean.java
package org.joonzis.DI_9_collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class CollectionBean {
// 필드
private List<String> addressList;
private Set<String> addressSet;
private Map<String, String> addressMap;
// 메소드
public List<String> getAddressList() {
return addressList;
}
public void setAddressList(List<String> addressList) {
this.addressList = addressList;
}
public Set<String> getAddressSet() {
return addressSet;
}
public void setAddressSet(Set<String> addressSet) {
this.addressSet = addressSet;
}
public Map<String, String> getAddressMap() {
return addressMap;
}
public void setAddressMap(Map<String, String> addressMap) {
this.addressMap = addressMap;
}
}
CollectionBeanClient.java
package org.joonzis.DI_9_collection;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.GenericXmlApplicationContext;
public class CollectionBeanClient {
public static void main(String[] args) {
AbstractApplicationContext ctx =
new GenericXmlApplicationContext("applicationContext9.xml");
// List 객체 가져오기
CollectionBean bean1 = ctx.getBean("cBean1", CollectionBean.class);
List<String> list = bean1.getAddressList();
for(String address : list) {
System.out.println(address);
}
System.out.println("-----------------------");
// Set 객체 가져오기
CollectionBean bean2 = ctx.getBean("cBean2", CollectionBean.class);
Set<String> set = bean2.getAddressSet();
Iterator<String> iterSet = set.iterator();
while(iterSet.hasNext()) {
System.out.println(iterSet.next());
}
System.out.println("-----------------------");
// Map 객체 가져오기
CollectionBean bean3 = ctx.getBean("cBean3", CollectionBean.class);
Map<String, String> map = bean3.getAddressMap();
// 방법 1
for (String mapKey : map.keySet()) {
System.out.println(mapKey + " " + map.get(mapKey));
}
// 방법 2
set = map.keySet(); // 키 뭉치
iterSet = set.iterator(); // 재활용
while(iterSet.hasNext()) {
String key = iterSet.next();
String value = map.get(key);
System.out.println("key : " + key + ", value : " + value);
}
ctx.close();
}
}
applicationContext9.java
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">
<!-- 객체 3개 만듦 -->
<bean id="cBean1" class="org.joonzis.DI_9_collection.CollectionBean">
<property name="addressList">
<list>
<value>서울시 구로구 구로동</value>
<value>서울시 금천구 독산동</value>
</list>
</property>
</bean>
<bean id="cBean2" class="org.joonzis.DI_9_collection.CollectionBean">
<property name="addressSet">
<set value-type="java.lang.String">
<value>서울시 구로구 구로동</value>
<value>서울시 금천구 독산동</value>
<value>서울시 금천구 독산동</value>
</set>
</property>
</bean>
<bean id="cBean3" class="org.joonzis.DI_9_collection.CollectionBean">
<property name="addressMap">
<map>
<entry>
<key><value>조재형</value></key>
<value>서울시 금천구 독산동</value>
</entry>
<entry>
<key><value>장동완</value></key>
<value>시흥시 신천동</value>
</entry>
</map>
</property>
</bean>
</beans>
반응형
'Spring & Spring Boot' 카테고리의 다른 글
DI_11_annoConfig (0) | 2023.07.06 |
---|---|
DI_10_annoConfig (1) | 2023.07.06 |
DI_8_set (0) | 2023.07.04 |
DI_7_dependencyChange (0) | 2023.07.04 |
DI_6_multiFields (0) | 2023.07.04 |