Spring的三种注入方式的优缺点分析

在 Spring 中,提供了三种依赖注入(也被称之为 "对象注入","属性装配"等)的方式,这篇博客我们来分析一下这三种方式各有哪些优缺点。

一、属性注入

优点

简洁,使用方便。

缺点

▪ 只能用于 IoC 容器,如果是非 IoC 容器不可用,并且只有在使用的时候才会出现 NPE(空指

针异常);

▪ 不能注入⼀个 Final 修饰的属性。

二、构造函数注入

此方式推荐 Spring 4.X 进行使用

优点

▪ 可以注入 final 修饰的属性;

▪ 注入的对象不会被修改;

▪ 依赖对象在使用前,一定会被完全初始化,因为依赖是在类的构造方法中执行的,而构造方法

是在类加载阶段就会执行的方法;

▪ 通用性好, 构造方法是 JDK 支持的, 所以更换任何框架,他都是适用的。

缺点

▪ 注入多个对象时, 代码会比较繁琐。

三、Setter注入

此方式推荐 Spring 3.X进行使用

优点

方便在类实例之后, 重新对该对象进行配置或者注⼊

缺点

▪ 不能注入⼀个 Final 修饰的属性

▪ 注入对象可能会被改变, 因为 setter 方法可能会被多次调⽤, 就有被修改的风险。

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱敲代码的罗根

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值