Spring框架属性注入
-
在xml文件中注入bean
-
数组类型属性注入
- xml文件中有< array >标签
-
list类型属性注入
- xml文件中有< list>标签
-
set类型属性注入
- xml文件中有< set>标签
-
properties类型属性注入
- xml文件中有 < props>标签
-
代码示例:
-
依赖jar包
dept类
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
public class Dept {
private String deptname;
private String address;
private String [] empname;//你的这个部门中有那些用户
private List<User> usersList;
private Set<User> userSet;
private Map<String, User> userMap;
private Properties properties;
public String getDeptname() {
return deptname;
}
public void setDeptname(String deptname) {
this.deptname = deptname;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String[] getEmpname() {
return empname;
}
public void setEmpname(String[] empname) {
this.empname = empname;
}
public List<User> getUsersList() {
return usersList;
}
public void setUsersList(List<User> usersList) {
this.usersList = usersList;
}
public Set<User> getUserSet() {
return userSet;
}
public void setUserSet(Set<User> userSet) {
this.userSet = userSet;
}
public Map<String, User> getUserMap() {
return userMap;
}
public void setUserMap(Map<String, User> userMap) {
this.userMap = userMap;
}
public Properties getProperties() {
return properties;
}
public void setProperties(Properties properties) {
this.properties = properties;
}
}
student类
public class User {
private String name;
private Integer age;
private String address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public User() {
super();
}
public User(String name, Integer age, String address) {
super();
this.name = name;
this.age = age;
this.address = address;
}
}
xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="dept" class="com.hfc.collection.Dept">
<property name="deptname" ><value>研发部</value></property>
<property name="address" value="西安"></property>
<!-- 注入你的数组 -->
<property name="empname">
<array>
<value>张三</value>
<value>李四</value>
<value>王五</value>
</array>
</property>
<!-- 使用list注入 -->
<property name="usersList">
<list>
<ref bean="user01"/>
<ref bean="user02"/>
</list>
</property>
<!--注入你的set集合-->
<property name="userSet">
<set>
<ref bean="user01"/>
<ref bean="user02"/>
</set>
</property>
<!-- 使用注入是map -->
<property name="userMap">
<map>
<entry key="1" value-ref="user01"></entry>
<entry key="2" value-ref="user02"></entry>
</map>
</property>
<!--使用properties集来进行 他也是你的键值对使用prop-->
<property name="properties">
<props>
<prop key="driver">com.mysql.jdbc.Driver</prop>
<prop key="url">root</prop>
</props>
</property>
</bean>
<!-- 这是使用set注入 -->
<bean id="user01" class="com.hfc.collection.User">
<property name="name" value="hfc"></property>
<property name="age" value="20"></property>
<property name="address" value="北京"></property>
</bean>
<!-- 构造方法注入 -->
<bean id="user02" class="com.hfc.collection.User">
<constructor-arg index="0" value="张三"></constructor-arg>
<constructor-arg index="1" value="16"></constructor-arg>
<constructor-arg index="2" value="北京"></constructor-arg>
</bean>
</beans>
工具类
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/*
*这是appliaction的一个工具类,返回一个appliaction对象
*/
public class AppLiactionUtils {
public static ApplicationContext getContext(String xmlpath) {
return new ClassPathXmlApplicationContext(xmlpath);
}
}
测试类
import java.util.Map.Entry;
import java.util.Properties;
public class Test {
public static void main(String[] args) {
Dept dept=(Dept)AppLiactionUtils.getContext("bean.xml").getBean("dept");
System.out.println(dept.getDeptname()+"\t"+dept.getAddress());
// 获取你的数组
for (String string : dept.getEmpname()) {
System.out.println(string);
}
//获取你的集合list
for (User user : dept.getUsersList()) {
System.out.println(user.getName()+"\t"+user.getAddress()+"\t"+user.getAge());
}
System.out.println("以下是你的set的方法");
for (User user :dept.getUserSet()) {
System.out.println(user.getName()+"\t"+user.getAddress()+"\t"+user.getAge());
}
System.out.println("map的数据注入");
for (Entry<String, User> uString : dept.getUserMap().entrySet()) {
System.out.println(uString.getKey()+"\t"+uString.getValue().getName());
}
System.out.println("properties注入");
Properties properties=dept.getProperties();
// System.out.println(properties.getProperty("driver"));
for (Entry<Object, Object> string : dept.getProperties().entrySet()) {
System.out.println(string.getKey()+string.getValue().toString());
}
}
}
- 以上就是spring框架中特殊属性 值在xml文件的注入方式了