给Bean当中的属性设置值:
创建类和对应的set方法
package com.itzheng.spring.demo4; public class Employee { private String name; private Car2 car2; public void setName(String name) { this.name = name; } public void setCar2(Car2 car2) { this.car2 = car2; } @Override public String toString() { return "Employee [name=" + name + ", car2=" + car2 + "]"; } }设置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"> <!-- Spring的属性注入的方式 --> <!-- 构造方法的方式 --> <bean id="car" class="com.itzheng.spring.demo4.Car"> <constructor-arg name="name" value="宝马"/> <constructor-arg name="price" value="800000"/> </bean> <!-- set方法方式符注入 --> <bean id="car2" class="com.itzheng.spring.demo4.Car2"> <property name="name" value="奔驰"></property> <property name="price" value="1000000"></property> </bean> <!-- set方法去注入对象类型的属性 --> <bean id="employee" class="com.itzheng.spring.demo4.Employee"> <!-- value是用来设置普通类型的值。ref是用来设置其他类的id 或者name --> <property name="name" value="张三"/> <property name="car2" ref="car2"/> </bean> </beans>value是用来设置普通类型的值。 ref是用来设置其他类的id 或者name ref是另外一个普通类型
创建类和对应的构造方法
package com.itzheng.spring.demo4; public class Boos { private String name; private Car car; public Boos(String name, Car car) { super(); this.name = name; this.car = car; } @Override public String toString() { return "Boos [name=" + name + ", car=" + car + "]"; } } <?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"> <!-- Spring的属性注入的方式 --> <!-- 构造方法的方式 --> <bean id="car" class="com.itzheng.spring.demo4.Car"> <constructor-arg name="name" value="宝马"/> <constructor-arg name="price" value="800000"/> </bean> <bean id="boos" class="com.itzheng.spring.demo4.Boos"> <constructor-arg name="name" value="李四"/> <constructor-arg name="car" ref="car"/> </bean> </beans>ref设置对应的类
@Test public void demo3() { // 创建工程 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); // 获得到对应XML当中的对象 Boos boos = (Boos) applicationContext.getBean("boos"); System.out.println(boos); }