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}

 

 

 

+ Recent posts