spring-210724-06–IOC容器–Bean管理XML方式-注入内部bean&级联赋值
Dept.java
package com.bgy.spring.bean;
public class Dept {
private String dname;
public void setDname(String dname) {
this.dname = dname;
}
@Override
public String toString() {
return "Dept{" +
"dname='" + dname + '\'' +
'}';
}
}
Emp.java
package com.bgy.spring.bean;
public class Emp {
private String ename;
private String gender;
private Dept dept;
public void setEname(String ename) {
this.ename = ename;
}
public void setGender(String gender) {
this.gender = gender;
}
public Dept getDept() {
return dept;
}
public void setDept(Dept dept) {
this.dept = dept;
}
public void test(){
System.out.println(ename+":"+gender+":"+dept);
}
}
beantest21072403.xml(注入内部bean)
<?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="emp" class="com.bgy.spring.bean.Emp">
<property name="ename" value="lucy"></property>
<property name="gender" value="女"></property>
<property name="dept">
<bean id="dept" class="com.bgy.spring.bean.Dept">
<property name="dname" value="安保部"></property>
</bean>
</property>
</bean>
</beans>
beantest21072403.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="emp" class="com.bgy.spring.bean.Emp">
<property name="ename" value="bgy"></property>
<property name="gender" value="男"></property>
<property name="dept" ref="dept"></property>
</bean>
<bean id="dept" class="com.bgy.spring.bean.Dept">
<property name="dname" value="人事部"></property>
</bean>
<bean id="emp02" class="com.bgy.spring.bean.Emp">
<property name="ename" value="tom"></property>
<property name="gender" value="男"></property>
<property name="dept" ref="dept"></property>
<property name="dept.dname" value="开发部"></property>
</bean>
</beans>
TestBean21072403.java
import com.bgy.spring.bean.Dept;
import com.bgy.spring.bean.Emp;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestBean21072403 {
@Test
public void test(){
ApplicationContext context = new ClassPathXmlApplicationContext("beantest21072403.xml");
Emp emp = context.getBean("emp", Emp.class);
emp.test();
}
@Test
public void test02(){
ApplicationContext context = new ClassPathXmlApplicationContext("beantest21072403_02.xml");
Emp emp = context.getBean("emp", Emp.class);
emp.test();
}
@Test
public void test03(){
ApplicationContext context = new ClassPathXmlApplicationContext("beantest21072403_02.xml");
Emp emp = context.getBean("emp02", Emp.class);
emp.test();
}
}