解决@Autowired警告

一.前言

再使用springboot自动注入@Autowired注解时,下方会出现波浪线警告,这是什么原因呢?我们细看提示说明已经说的很清楚了,Field injection is not recommended “不建议使用字段注入”,字段注入是指通过直接将依赖项注入到类的字段中来实现依赖注入。这种方式存在一些问题,比如降低了代码的可测试性,增加了类之间的耦合度,使得依赖关系不够清晰等。相比之下,构造函数注入或者方法注入是更好的选择。构造函数注入是指通过类的构造函数来接收依赖项,而方法注入则是通过方法参数来传递依赖项。

二.解决方案

2.1 示例代码

@Service
public class CartServiceImpl extends ServiceImpl<CartMapper, Cart> implements ICartService {

    @Autowired
    private RestTemplate restTemplate;
}

在这里插入图片描述
可以看到代码给出警告提示

2.2 解决方案

在类上添加@RequiredArgsConstructor注解,@RequiredArgsConstructor 是 Lombok 提供的一种注解,它能够为被标记的类自动生成一个包含所有非静态字段的构造函数。该注解适用于不可变对象(Immutable Object)的构建,能够简化代码并提高开发效率。

代码改造:

@Service
@RequiredArgsConstructor
public class CartServiceImpl extends ServiceImpl<CartMapper, Cart> implements ICartService {

        private final RestTemplate restTemplate;
}

注意:被 @RequiredArgsConstructor 注解标记的字段必须使用 final 关键字进行声明,以确保生成的构造函数能够正确地初始化这些字段,如果自定义变量不想出现在构造方法中只要不加final关键字即可

在这里插入图片描述

可以看到警告被完美解决

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小钟不想敲代码

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

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

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

打赏作者

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

抵扣说明:

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

余额充值