Spring框架的属性注入

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>
原文地址:https://www.cnblogs.com/wyhluckdog/p/10126965.html