Spring入门-----------------属性注入和对象注入
阅读原文时间:2023年07月09日阅读:1

属性注入即通过setter方法注入bean的属性或依赖对象。

属性注入使用元素,使用name属性指定bean的属性的名称,value属性或子节点指定属性值。

原理:通过java的反射机制,调用此属性的setter方法。所以改属性必须有setter方法才能使用。

构造器注入:

通过构造方法注入bean的属性值或依赖的对象,它保证了bean实例在实例化后就可以使用。

构造器注入在初始化属性值,name属性表示通过参数名称设置属性。

构造器注入有两种方法:

  1. 按索引匹配入参

通过参数的顺序进行初始化

  1. 按类型匹配入参

通过方法的参数类型定位是用哪个构造方法

1.创建一个Student类

package com.xt.spring.student;

public class Student {

private String stuNo;  
private String stuName;  
public School school;  
public School getSchool() {  
    return school;  
}  
public void setSchool(School school) {  
    this.school = school;  
}  
public  Student(String stuNo,String stuName){  
    this.stuNo=stuNo;  
    this.stuName=stuName;  
}  
public Student(){

}  
public String getStuNo() {  
    return stuNo;  
}  
public void setStuNo(String stuNo) {  
    this.stuNo = stuNo;  
}  
public String getStuName() {  
    return stuName;  
}  
public void setStuName(String stuName) {  
    this.stuName = stuName;  
}  
@Override  
public String toString() {  
    return "Student \[stuNo=" + stuNo + ", stuName=" + stuName + ", school=" + school + "\]";  
}  

}

新建一个school类,作为引用对象

package com.xt.spring.student;

public class School {
private String address;
private String detail;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getDetail() {
return detail;
}
public void setDetail(String detail) {
this.detail = detail;
}
@Override
public String toString() {
return "School [address=" + address + ", detail=" + detail + "]";
}

}

2.创建配置文件applicationContext-stu.xml,这里面有不同的注入方式,自行运行,寻找不同之处


http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd ">

2025 .

浙ICP备15029886号