属性在xml中的注入
- javaBean
public class Student {
//普通类型
private String name;
//引用类型
private Skill skill;
//数组
private String[] util= new String[100];
//List类型
private List<String> family;
//Set类型
private Set<String> project;
//Map类型
private Map<Integer,String> room;
//配置类
private Properties bean;
//null
private String address;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Skill getSkill() {
return skill;
}
public void setSkill(Skill skill) {
this.skill = skill;
}
public List<String> getFamily() {
return family;
}
public void setFamily(List<String> family) {
this.family = family;
}
public Set<String> getProject() {
return project;
}
public void setProject(Set<String> project) {
this.project = project;
}
public Map<Integer, String> getRoom() {
return room;
}
public void setRoom(Map<Integer, String> room) {
this.room = room;
}
public Properties getBean() {
return bean;
}
public void setBean(Properties bean) {
this.bean = bean;
}
public String[] getUtil() {
return util;
}
public void setUtil(String[] util) {
this.util = util;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", skill=" + skill.toString() +
", util=" + Arrays.toString(util) +
", family=" + family +
", project=" + project +
", room=" + room +
", bean=" + bean +
",address="+address+
'}';
}
}
//子类
class Skill {
private List<String> skills;
public List<String> getSkills() {
return skills;
}
public void setSkills(List<String> skills) {
this.skills = skills;
}
@Override
public String toString() {
return "Skill{" +
"skills=" + skills +
'}';
}
}
- 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
https://www.springframework.org/schema/beans/spring-beans.xsd">
<!--引用类-->
<bean id="skill" class="com.mcwen.pojo.Skill">
<property name="skills">
<list>
<value>coding skill</value>
</list>
</property>
</bean>
<bean id="student" class="com.mcwen.pojo.Student">
<!--普通属性-->
<property name="name" value="李白"/>
<!--引用-->
<property name="skill" ref="skill"/>
<!--数组-->
<property name="util">
<array>
<value>1212</value>
</array>
</property>
<!--配置文件-->
<property name="bean">
<props>
<prop key="1">hello properties</prop>
<prop key="2">hello properties</prop>
</props>
</property>
<!--List-->
<property name="family" >
<list>
<value>family list</value>
<value>family list</value>
</list>
</property>
<!--Set-->
<property name="project">
<set>
<value>project set</value>
</set>
</property>
<!--Map-->
<property name="room">
<map>
<entry key="1" value="hello map"/>
</map>
</property>
<!--null-->
<property name="address">
<null/>
</property>
</bean>
</beans>
- 测试类
@Test
public void testDemo01(){
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("beans01.xml");
Student student = context.getBean("student", Student.class);
System.out.println(student.toString());
}
- 运行结果
![image]()