【SpringBoot学习】36、SpringBoot 使用 @RequiredArgsConstructor 替换 @Autowired 分析

@RequiredArgsConstructor 替换 @Autowired 分析

小有一些时日没有写文章了,最新有点小匆忙,继续分享、学习,各位小伙伴加油!

1、注解注入分析

首先确定,我们为什么需要使用 @Autowired 注解?@Autowired 是一个注释,它可以对类成员变量、方法及构造函数进行标注,让 spring 完成 bean 自动装配的工作。对 Spring Bean 这块不熟悉的,可以看【Spring 源码分析】这个系列的文章

@RequiredArgsConstructor 是 lombok 提供的注解,作用于类,用于生成包含 final 和 @NonNull 注解的成员变量的构造方法。那么也就是说,我们需要在注入的属性上增加 final 或 @NonNull 修饰就可以了

Spring 中三种注入方式、

第一种:Field Injection:属性注入,这种注入方式通过 Java 的反射机制实现,所以 private 的成员也可以被注入具体的对象

第二种:Constructor Injection 构造注入,通过对象构建的时候建立关系,所以这种方式对对象创建的顺序会有要求,当然 Spring 会为你搞定这样的先后顺序,除非你出现循环依赖,然后就会抛出异常

第三种:Setter Injection set 注入,通过调用成员变量的 set 方法来注入想要使用的依赖对象

喜欢深入研究的同学,可以看这三种注入的对比

2、实例分析

项目中的@Autowired 注解,有黄色提示,根据提示修改代码之后,

鼠标放上去看到提示使用构造方法注入

有两种形式,第一种,直接创建空构造,实际上是将属性修改为 final。第二种,每个属性的注入都在构造方法上增加一个参数,如下

第二种代码太臃肿了,并且很繁琐,所以这里我们使用第一种方式,final 构造,于是代码变成了以下格式


到此,简单的 SpringBoot 使用 @RequiredArgsConstructor 替换 @Autowired 分析就结束啦!

微信公众号

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Tellsea

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

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

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

打赏作者

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

抵扣说明:

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

余额充值