DI 설정> Set, Properties, Map 객체 자료형일 경우 xml 환경 설정 파일 작성 방법
--아래 예시들은 모두 main클래스가 별도로 존재합니다
Set 자료형
- Set은 중복을 허용x
xml파일에서 set태그를 사용하여 값을 설정해주는데 이때 값이 중복되어도 중복되서 저장되지는 않는다
자바 클래스 파일
import java.util.Set;
public class Fruit {
private Set<Integer> testSet;
public void setTestSet(Set<Integer> testSet) {
this.testSet = testSet;
}
@Override
public String toString() {
return "testSet=" + testSet;
}
}
xml파일
<!--xml파일-->
<bean name="fruit" class="spring.Fruit">
<property name="testSet">
<set>
<value>5</value>
<value>3</value>
<value>5</value>
</set>
</property>
</bean>
-> 결과
testSet=[5, 3]
properties 자료형
-Hashtables의 하위클래스로, Map의 속성을 갖는다
-key,value 형태
자바 클래스 파일
import java.util.Properties;
public class Test {
private Properties prop;
public void setProp(Properties prop) {
this.prop = prop;
System.out.println("prop="+prop);
}
}
xml파일
<bean name="t1" class="spring.Test">
<property name="prop">
<props>
<prop key="first">192.16</prop>
<prop key="2nd">10</prop>
</props>
</property>
</bean>
-> 결과
prop={2nd=10, first=192.16}
Map 자료형
-key,value 형태
자바 클래스 파일
import java.util.Map;
class Handler{ }
public class Test{
private Map<String,Object> map;
public void setMap(Map<String,Object> map) {
this.map = map;
System.out.println("map="+map);
}
}
xml파일
<!--
<entry key="apple" value-ref="handler"/>
<entry key="banana" value="22"/>
-->
<bean name="t1" class="spring.Test">
<property name="map">
<map>
<entry>
<key><value>apple</value></key>
<ref bean="handler"/>
</entry>
<entry>
<key><value>banana</value></key>
<value>22</value>
</entry>
</map>
</property>
</bean>
<bean name="handler" class="spring.Handler" />
-> 결과
map={apple=spring.Handler@7494e528, banana=22}
'Spring' 카테고리의 다른 글
[Spring]어노테이션)@Required, @Autowired, @Inject, @Resource (0) | 2021.03.31 |
---|---|
[Spring]DI설정) byType, byName, 추상, 상속 (0) | 2021.03.29 |
[Spring]DI설정) 객체 참조, List객체 자료형 (0) | 2021.03.25 |
[Spring]DI설정) p-네임스페이스, c-네임스페이스, scope="prototype" (0) | 2021.03.25 |
[Spring]메이븐, core모듈, DI(dependency injection) (0) | 2021.03.24 |