复杂类型注入
备注:
以上使用的复杂类型,只要他的存储结构相同,里面的嵌套的标签可以混搭
如:Array、List、Set单列的结构,他们里面的子标签可以混用
Map、Properties双列的结构,他们里面的子标签也可以混用。
代码如下:
/**
* 复杂数据类型注入
*/
public class ObjectComplex {
private Object[] arr;
private List<Object> list;
private Set<Object> set;
private Map<Object,Object> map;
private Properties properties;
public ObjectComplex(Object[] arr, List<Object> list, Set<Object> set, Map<Object, Object> map, Properties properties) {
this.arr = arr;
this.list = list;
this.set = set;
this.map = map;
this.properties = properties;
}
public ObjectComplex() {
}
public Object[] getArr() {
return arr;
}
public void setArr(Object[] arr) {
this.arr = arr;
}
public List<Object> getList() {
return list;
}
public void setList(List<Object> list) {
this.list = list;
}
public Set<Object> getSet() {
return set;
}
public void setSet(Set<Object> set) {
this.set = set;
}
public Map<Object, Object> getMap() {
return map;
}
public void setMap(Map<Object, Object> map) {
this.map = map;
}
public Properties getProperties() {
return properties;
}
public void setProperties(Properties properties) {
this.properties = properties;
}
@Override
public String toString() {
return "ObjectComplex{" +
"arr=" + Arrays.toString(arr) +
", list=" + list +
", set=" + set +
", map=" + map +
", properties=" + properties +
'}';
}
}
Sprin核心主配置文件信息如下:
<?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.xsd">
<!--复杂类型注入-->
<!--构造方法注入-->
<bean name="user" class="com.zhiyou100.pojo.User" init-method="initUser" destroy-method="destroyUser">
<property name="username" value="张三"/>
<property name="address" value="李四"/>
<property name="car" ref="car"/>
</bean>
<bean name="car" class="com.zhiyou100.pojo.Car">
<property name="name" value="五菱宏光"/>
<property name="price" value="10000"/>
</bean>
<bean name="objectComplex" class="com.zhiyou100.pojo.ObjectComplex">
<!--数组类型注入-->
<property name="arr">
<array>
<value>JAVA</value>
<value>CD</value>
</array>
</property>
<!--集合数据类型注入-->
<property name="list">
<list>
<value>张三</value>
<value>李四</value>
</list>
</property>
<!--set集合类型注入-->
<property name="set">
<set>
<value>哈哈</value>
<value>哈哈</value>
</set>
</property>
<!--map类型注入-->
<property name="map">
<map>
<entry key="田七" value="50"/>
<entry key="蔡徐坤" value="20"/>
</map>
</property>
<!--properties类型注入-->
<property name="properties">
<props>
<prop key="北京">bj</prop>
<prop key="上海">sh</prop>
</props>
</property>
</bean>
</beans>