Spring02–setter类型注入
1.创建对象
<bean id="stu" class="com.itheima.pojo.Student"></bean>
2.给创建的对象赋值
-
使用setter注入
- 简单类型注入
- 简单类型注入值使用value属性
- 引用类型注入
- 引用类型注入值使用ref数次那个
- 注意:使用setter注入必须提供无参的构造方法,必须提供setXXX()方法
- 简单类型注入
-
使用构造方法注入
setter简单类型注入
在实体类中给Student类加上setXXX()方法
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
在applicationContext.xml中给stu对象注入值
<bean id="stu" class="com.itheima.pojo.Student">
<property name="name" value="张三"></property>
<property name="age" value="23"></property>
</bean>
setter引用类型注入
在这里给stu类型加入一个School类型的成员变量,表示学生所在的学校
首先,创建School类
package com.itheima.pojo;
public class School {
private String name;
private String address;
public School() {
System.out.println("学校的无参数构造方法执行了");
}
//为了给成员变量注入值,必须提供无参数的构造方法和setXXX()方法
public void setName(String name) {
this.name = name;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "School{" +
"name='" + name + '\'' +
", address='" + address + '\'' +
'}';
}
}
其次,在学生类中添加School属性并添加setXXX()方法
package com.itheima.pojo;
public class Student {
private String name;
private int age;
//添加School属性
private School school;
public Student() {
System.out.println("学生的无参构造方法执行");
}
//添加set方法 setter注入必须要求
public void setSchool(School school) {
this.school = school;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age