构造方法注入就是通过已配置到容器中的JavaBean的有参构造函数将属性值注入到对象实例当中。
4.2.1 创建JavaBean的实体类
编写一个普通JavaBean的实体类:
package com.marshal.spring.di.constructor;
public class TaoistPriest {
private String name;
private String sex;
private Integer age;
private Float height;
private Float weight;
public TaoistPriest() {
}
public TaoistPriest(String name, String sex, Integer age, Float height, Float weight) {
this.name = name;
this.sex = sex;
this.age = age;
this.height = height;
this.weight = weight;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Float getHeight() {
return height;
}
public void setHeight(Float height) {
this.height = height;
}
public Float getWeight() {
return weight;
}
public void setWeight(Float weight) {
this.weight = weight;
}
@Override
public String toString() {
return "TaoistPriest{" +
"name='" + name + '\'' +
", sex='" + sex + '\'' +
", age=" + age +
", height=" + height +
", weight=" + weight +
'}';
}
}
该实体类对象中有一个无参数的构造函数和一个有参数的构造函数,并且有五个属性和一个“toString”方法。
4.2.2 编写该类的配置文件
以构造函数的方式编写该类的配置文件:
在该配置文件中“bean
”标签的子标签“constructor-arg
”来进行该类参数的设置,其中“name
”属性值填写该类的属性名称,“type
”属性值填写该属性的类型以及“value
”属性值用来填写该类的属性值。
4.2.3 编写启动容器测试类
创建测试类“MainTest
”,通过该类中的main方法进行测试:
在容器中获取该类的实例后进行该类的实例打印,调用该类重写的“toString
”方法: