Spring-注入集合
本文内容纲要:Spring-注入集合
注入集合
你已经看到如何使用value属性来配置基本数据类型和在你的bean配置文件中使用
现在如果想传递多个值,如Java Collection类型的List,Set,Map和Properties,应该怎么做呢?为了处理这种情况,Spring提供了四中类型的集合的配置元素,如下所示:
- 注入一列值,允许重复
有助于连线一组值,但不能重复 可以用来注入名称-值对的集合,其中名称和值都是字符串类型
JavaCollection.java文件的内容:
package com.tuorialsponit;import java.util.List;
import java.util.Set;
import java.util.Map;
import java.util.Properties;
public class JavaCollection {
private List addressList;
private Set addressSet;
private Map addressMap;
private Properties addressProp;
public List getAddressList() {
return addressList;
}
public void setAddressList(List addressList) {
this.addressList = addressList;
}
public Set getAddressSet() {
return addressSet;
}
public void setAddressSet(Set addressSet) {
this.addressSet = addressSet;
}
public Map getAddressMap() {
return addressMap;
}
public void setAddressMap(Map addressMap) {
this.addressMap = addressMap;
}
public Properties getAddressProp() {
return addressProp;
}
public void setAddressProp(Properties addressProp) {
this.addressProp = addressProp;
}
}
下面是bean.xml中的内容:
<bean id="javaCollection" class="com.tuorialsponit.JavaCollection"> <property name="addressList">
<list>
<value>INDIA</value>
<value>Pakistan</value>
<value>USA</value>
<value>USA</value>
</list>
</property>
<property name="addressSet">
<set>
<value>INDIA</value>
<value>Pakistan</value>
<value>USA</value>
<value>USA</value>
</set>
</property>
<!-- results in a setAddressMap(java.util.Map) call -->
<property name="addressMap">
<map>
<entry key="1" value="INDIA"/>
<entry key="2" value="Pakistan"/>
<entry key="3" value="USA"/>
<entry key="4" value="USA"/>
</map>
</property>
<property name="addressProp">
<props>
<prop key="one">INDIA</prop>
<prop key="two">Pakistan</prop>
<prop key="three">USA</prop>
<prop key="four">USA</prop>
</props>
</property>
</bean>
MainApp.java中的内容:
public class MainApp { public static void main(String[] args){
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
JavaCollection jc = (JavaCollection) context.getBean("javaCollection");
System.out.println(jc.getAddressList());
System.out.println(jc.getAddressSet());
System.out.println(jc.getAddressMap());
System.out.println(jc.getAddressProp());
}
}
运行结果:
注入Bean引用
下面的Bean定义将帮助你理解如何注入bean的引用作为集合元素。甚至你可以将引用和值混合在一起,如下所示:
<property name="addressList"> <list>
<ref bean="helloIndia"/>
<value>INDIA</value>
<value>Pakistan</value>
<value>USA</value>
<value>USA</value>
</list>
</property>
<bean id="helloIndia" class="com.tuorialsponit.HelloIndia" parent="beanTemplate">
<property name="message1" value="hello India"></property>
<property name="message3" value="Namaste India"></property>
</bean>
为了使用上面的bean定义,你需要定义setter方法,它们应该也是能够用这种方式处理引用。
注入null和空字符串的值
如果你需要传递一个空字符串作为值,那么可以像如下方式这样传递它:
<bean id="helloIndia" class="com.tuorialsponit.HelloIndia" parent="beanTemplate"> <property name="message1" value="hello India"></property>
<property name="message3" value=""></property>
</bean>
如果你需要传递一个NULL值,那么你可以传递它,如下所示:
<bean id="helloIndia" class="com.tuorialsponit.HelloIndia" parent="beanTemplate"> <property name="message1" value="hello India"></property>
<property name="message3"><null/></property>
</bean>
本文内容总结:Spring-注入集合
原文链接:https://www.cnblogs.com/fangpengchengbupter/p/7818776.html
以上是 Spring-注入集合 的全部内容, 来源链接: utcz.com/z/296005.html