1. 对于类成员变量,常用的注入方式有两种
* 构造函数注入(没有空的构造方法注入)
* 属性setter方法注入(有空的构造方法注入)
2. 在Spring框架中提供了前两种的属性注入的方式
1. 构造方法的注入方式,两步
* 编写Java的类,提供构造方法
public class Car {
private String name;
private double money;
public Car(String name, double money) {
this.name = name;
this.money = money;
}
@Override
public String toString() {
return "Car [name=" + name + ", money=" + money + "]";
}
}
* 编写配置文件
<bean id="car" class="com.huida.demo4.Car">
<constructor-arg name="name" value="大奔"/>
<constructor-arg name="money" value="100"/>
</bean>
2. 属性的setter方法的注入方式
* 编写Java的类,提供属性和对应的set方法即可
private name;
public void setname(String name){
this.name=name;
}
* 编写配置文件
<beans id="userService" class="com.huida.demo1.UserServiceImpl">
<property name="name" value="张三">
</beans>
3. 如果Java类的属性是另一个Java的类,那么需要怎么来注入值呢?
* <property name="name" rel="具体的Bean的ID或者name的值"/>
* 例如:我们在person类中,定义一个Car对象。
<bean id="person" class="com.huida.demo4.Person">
<property name="pname" value="美美"/>
<property name="car2" ref="car2"/>
</bean>