Spring6(三)简单的set注入(1)

Spring通过依赖注入实现IOC,那么什么是依赖注入呢?

此时我们有两个类,我们要在User类中newAccount类,并且可以调用Account类中的方法实现我们的需求。

public class Account {
    private  String  address;

    public void insert() {
        System.out.println(address);
   
    }
}
public class User {
    private Account account;

    public   void   save(){
        account.insert();
    }
}

但在此时调用,一定会报空指针异常的错误,因为没有对account初始化,也没有对address传值。

那么采用set注入后,有以下好处

1.平时,我们需要调用set方法给address赋值,但采用set注入,我们可以采用配置的方法赋值。

2.变量创建过程由先new  Account  ---> User  的过程变为  User ---->Account,调用所需的类。

如何set注入?

1.set注入基于set方法,每个类必须有set方法

public class Account {
    private  String  address;
    public void setAddress(String address) {
        this.address = address;
    }
    public void insert() {
        System.out.println(address);
    }
}
public class User {
    private Account account;
    public void setAccount(Account account) {
        this.account = account;
    }
    public   void   save(){
        account.insert();
    }

二 将类进行bean配置


    <bean id="accountBean" class="com.chenchen.dao.Account"></bean>

    <bean id="userBean"  class="com.chenchen.service.User"></bean>

R然后在bean中加入要注入的值

    <bean id="userBean"  class="com.chenchen.service.User">
        <property name="Account"  ref="accountBean"></property>
    </bean>
    <bean id="accountBean" class="com.chenchen.dao.Account">
          <property name="Address"  value="日本天空树"></property>
    </bean>
请注意,这里有个命名的问题 <property  name=""> name的名字一定要是该属性所对应的方法去掉set后。例子
   public void setAddress(String address) {
        this.address = address;
    }
在bean.xml配置中name一定要是Address ,同时在写set方法时,一定要是setXXXX

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值