解决@Autowired警告

news2024/9/23 17:23:38

一.前言

再使用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关键字即可

在这里插入图片描述

可以看到警告被完美解决

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1201913.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网易数帆:云原生向左,低代码向右

网易数帆&#xff0c;前身是网易杭州研究院于2016年孵化的网易云&#xff0c;历经7载探索与沉淀&#xff0c;如今已进化成为覆盖云原生、低代码、大数据和人工智能四大技术赛道的数智化服务提供商&#xff0c;服务于金融、央国企、能源、制造等领域300余家头部企业。 近日&…

『亚马逊云科技产品测评』活动征文|Amazon EC2 的讲解及相关服务

授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道 Amazon EC2 的讲解及相关服务 一、什么是 Amazon EC2&#xff1f;二、何为…

centos7 安装网络文件共享NFS详细过程

网络文件系统&#xff0c;英文Network File System(NFS)&#xff0c;是由SUN公司研制的UNIX表示层协议(presentation layer protocol)&#xff0c;能使使用者访问网络上别处的文件就像在使用自己的计算机一样。 多个服务器之间需要共享文件&#xff0c;通过NFS服务共享是一个简…

“咸阳杯·美洲队中国行”国际足球邀请赛圆满举办

巴拿马1:0乌拉圭 “咸阳杯美洲队中国行”国际足球邀请赛圆满举办 11月12日下午3&#xff1a;00&#xff0c;由陕旅集团联合承办、陕体集团协办的“咸阳杯美洲队中国行”国际足球邀请赛在咸阳奥体中心开赛。两支美洲劲旅&#xff1a;巴拿马国家队与乌拉圭国青队龙争虎斗&#…

基于springboot实现生鲜超市管理的设计与实现系统【项目源码】计算机毕业设计

基于springboot实现生鲜超市管理的设计与实现系统演示 Java技术 Java是由Sun公司推出的一门跨平台的面向对象的程序设计语言。因为Java 技术具有卓越的通用性、高效性、健壮的安全性和平台移植性的特点&#xff0c;而且Java是开源的&#xff0c;拥有全世界最大的开发者专业社群…

AlNiCo铝镍钴永磁材料

1970年代稀土永磁材料发明之前&#xff0c;AlNiCo铝镍钴合金一直是磁性能最强的永磁材料&#xff0c;不过由于成分中包含战略性金属钴和镍&#xff0c;导致成本较高&#xff0c;随着铁氧体永磁和稀土永磁的相继问世&#xff0c;铝镍钴材料在众多应用中逐步被取代。但在一些高温…

屏幕截图软件 Snagit mac中文版软件特点

Snagit mac是一款屏幕截图和视频录制软件&#xff0c;它可以帮助用户快速捕捉屏幕上的任何内容&#xff0c;并将其编辑、标注和共享。 Snagit mac软件特点 多种截图模式&#xff1a;支持全屏截图、窗口截图、区域截图、延时截图等多种截图模式&#xff0c;满足不同用户的需求。…

求求了 谁好人家还搞托运!!

求求了 谁好人家还搞托运!! 真相了 是我这个好人 转眼又是一年之冬 北方的朋友已经开始“南迁”了 或者在北方生长的宝子也会不习惯冬天吗? 你又是来自哪个城市呢? 所以过冬这件事情不容小觑 而中国唯一的热带气候省份-海南 就成了香饽饽 但有个问题令人犯愁 北方来到中国最南…

(论文阅读26/100)Weakly-supervised learning with convolutional neural networks

26.文献阅读笔记 简介 题目 Weakly-supervised learning with convolutional neural networks 作者 Maxime Oquab&#xff0c;Leon Bottou&#xff0c;Ivan Laptev&#xff0c;Josef Sivic&#xff0c;CVPR&#xff0c;2015 原文链接 http://www.cv-foundation.org/open…

[SOC] MBIST (Memory Built-In Self Test) and Memory Built-in Self Repair (BISR)

存储器构成了 VLSI 电路的很大一部分。存储系统设计的目的 是存储大量数据。[1] 存储器不包括逻辑门和触发器。因此&#xff0c;需要不同的故障模型和测试算法来测试存储器。 MBIST 是一种自测试和修复机制&#xff0c;它通过一组有效的算法来测试存储器&#xff0c;以检测典型…

Lightroom Classic 2023 v12.4

Lightroom Classic 2023是一款图像处理软件&#xff0c;是数字摄影后期制作的重要工具之一。与其他图像处理软件相比&#xff0c;Lightroom Classic具有以下特点&#xff1a; 高效的图像管理&#xff1a;Lightroom Classic提供了强大的图像管理功能&#xff0c;可以轻松导入、…

C++标准模板(STL)- 类型支持 (受支持操作,检查类型是否有拥有移动赋值运算符)

类型特性 类型特性定义一个编译时基于模板的结构&#xff0c;以查询或修改类型的属性。 试图特化定义于 <type_traits> 头文件的模板导致未定义行为&#xff0c;除了 std::common_type 可依照其所描述特化。 定义于<type_traits>头文件的模板可以用不完整类型实例…

Linux-AWK(应用最广泛的文本处理程序)

目录 一、awk基础 二、awk工作原理 三、OFS输出分隔符 四、awk的格式化输出 五、awk模式pattern 一、awk基础 使用案例&#xff1a; 1.准备工作 请在Linux中执行以下指令 cat -n /etc/passwd > ./passwd 练习&#xff1a; 1.从文件 passwd 中提取并打印出第五行的内…

初学者向导:Sketch设计软件自学教程大全

Sketch软件是Mac平台上流行的矢量图形编辑软件&#xff0c;旨在帮助用户创建各种设计原型&#xff0c;如网站、移动应用程序、图标等。Sketch软件的设计风格简单明了&#xff0c;界面操作简单易用&#xff0c;非常适合UI/UX设计师、平面设计师等数字创意人员。本文作为软件自学…

C语言—数组入门

数组定义方式 int一个占4个字节&#xff0c;char一个占1个字节&#xff0c;double一个占8个字节&#xff0c;所以三个最后都是24. 数组不能被动态定义 下面代码是不可行的&#xff01;&#xff01;&#xff01;访问数组中元素 下标索引从0开始 如果定义数组int a[10]&#…

2.7 CE修改器:多级指针查找

在本步骤中&#xff0c;你需要使用多级指针的概念来查找健康值真正的地址并修改它。多级指针就是一个指针的指针&#xff0c;也就是第一个指针指向第二个指针&#xff0c;第二个指针指向第三个指针&#xff0c;以此类推&#xff0c;最终指向你想要访问的地址。 首先&#xff0…

leetcode:876. 链表的中间结点

一、题目 函数原型&#xff1a; struct ListNode* middleNode(struct ListNode* head) 二、思路 要找到链表的中间结点&#xff0c;有两种思路&#xff1a; 暴力解法&#xff1a;先遍历一遍链表&#xff0c;计算出链表的长度&#xff0c;再次遍历链表&#xff0c;找到中间结点。…

马达加斯加市场开发攻略,收藏一篇就够了

马达加斯加是位于非洲南部一个国家&#xff0c;虽然经济是比较落后的一个国家&#xff0c;但是一直以来跟中国的关系都还不错&#xff0c;生产生活资料也是比较依赖进口的&#xff0c;市场潜力还是不错的。今天就来给大家分享一下马达加斯加的相关攻略。大家点赞收藏关注慢慢看…

北大联合智源提出训练框架LLaMA-Rider

大语言模型因其强大而通用的语言生成、理解能力&#xff0c;展现出了成为通用智能体的潜力。与此同时&#xff0c;在开放式的环境中探索、学习则是通用智能体的重要能力之一。因此&#xff0c;大语言模型如何适配开放世界是一个重要的研究问题。 北京大学和北京智源人工智能研究…

Django中Cookie和Session的使用

目录 一、Cookie的使用 1、什么是Cookie&#xff1f; 2、Cookie的优点 3、Cookie的缺点 4、Django中Cookie的使用 二、Session的使用 1、什么是Session&#xff1f; 2、Session的优点 3、Session的缺点 4、Django中Session的使用 三、Cookie和Session的对比 总结 D…