SSM-Spring-Spring装配Bean-依赖注入三种方式式

SSM-Spring-Spring装配Bean-依赖注入三种方式式

在实际环境中实现IOC容器的方式主要分两种:

  • 依赖查找:是通过资源定位,把对应的资源查找回来
  • 依赖注入:Spring主要使用依赖注入,分3种:
    • 构造器注入
    • setter注入
    • 接口注入

主要使用构造器注入和setter注入,接口注入是从别的地方注入的方式


构造器注入

​ 构造器注入依赖构造方法,而构造方法可以是有参和无参,大部分情况想是通过类的构造器创建对象,Spring采用反射的方式,通过使用构造器方法完成注入。

案例:

//创建一个类Role
public class Role {

    private Long id;
    private String roleName;
    private String note;
    
    //set and get

    public Role(Long id, String roleName, String note) {
        this.id = id;
        this.roleName = roleName;
        this.note = note;
    }
}

因为创建的是有参构造器,所以不能和创建无参构造方法那样去创建对象,为了Spring能正确创建对象,如下:

    <bean id="Role" class="spring.pojo.Role">
        <constructor-arg name="id" >
            <value>1</value>
        </constructor-arg>
        <constructor-arg name="roleName" value="总经理"/>
        <constructor-arg name="note" value="公司管理者"/>
    </bean>

constructor-arg元素用于定义类构造方法参数,name是属性名,vlaue是值。还可以通过index属性设置定义参数的位置。


使用setter注入

​ setter注入是Spring中最流行的注入方式,利用Java Bean规范所定义的setter方法来完成注入,灵活且可读性高。消除了使用构造器注入出现多个参数的可能性,他也是通过反射技术实现的,XML代码如下:

    <bean id="Role2" class="spring.pojo.Role">
        <property name="id" value="1"/>
        <property name="note" value="重要人员"/>
        <property name="roleName" value="高级工程师"/>
    </bean>

注意:使用这种方式必须要有无参构造器


接口注入

​ 当资源并非来自于自身系统,就可以采用接口注入的形式来获取它

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值