复杂类型的属性注入

----------------------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】

原文地址:https://www.cnblogs.com/siwuxie095/p/7403140.html