----------------------siwuxie095
复杂类型的属性注入
1、有如下几种复杂类型:
(1)数组
(2)List 集合
(3)Map 集合
(4)Properties 类型
2、具体实现
(1)编写一个普通类
User.java:
package com.siwuxie095.property;
import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.Properties;
public class User {
private String[] arr; private List<String> list; private Map<String, String> map; private Properties properties;
public void setArr(String[] arr) { this.arr = arr; }
public void setList(List<String> list) { this.list = list; }
public void setMap(Map<String, String> map) { this.map = map; }
public void setProperties(Properties properties) { this.properties = properties; }
public void print() { System.out.println(Arrays.toString(arr)+" "+list+" "+map+" "+properties); }
} |
(2)在配置文件中注入属性
applicationContext.xml:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- 注入复杂类型属性 --> <bean id="user" class="com.siwuxie095.property.User">
<!-- 数组 --> <property name="arr"> <list> <value>小赵</value> <value>小钱</value> <value>小孙</value> <value>小李</value> </list> </property>
<!-- List 集合 --> <property name="list"> <list> <value>张三</value> <value>李四</value> <value>王五</value> </list> </property>
<!-- Map 集合 --> <property name="map"> <map> <entry key="a" value="老大"></entry> <entry key="b" value="老二"></entry> <entry key="c" value="老三"></entry> <entry key="d" value="老四"></entry> </map> </property>
<!-- Properties 类型 --> <property name="properties"> <props> <prop key="username">root</prop> <prop key="password">8888</prop> </props> </property>
</bean>
</beans> |
(3)编写一个测试类
TestProperty.java:
package com.siwuxie095.property;
import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestProperty {
/** * 手动加上 @Test 以进行单元测试(将自动导入 JUnit 4 的 jar 包) * * 选中方法名,右键->Run As->JUint Test */ @Test public void testProperty() { // (1) 加载 Spring 的核心配置文件 ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
// (2) 得到核心配置文件中创建的对象(获取 Bean 实例) User user=(User) context.getBean("user");
user.print(); } } |
【made by siwuxie095】