SpringBoot通过构造函数依赖注入实现过程

 更新时间:2025年08月17日 11:51:04   作者:RR1335  
Spring Boot推荐构造函数注入替代@Autowired,避免编辑器警告,使用@AllArgsConstructor生成全属性构造函数,但通过final关键字可优化,仅生成需注入字段的构造函数,减少冗余

SpringBoot通过构造函数依赖注入

对于注入,通常通过 @Autowired  关键字。

@Service
public class CartServiceImpl implements ICartService {

    @Autowired  
    private RestTemplate restTemplate;

但是,这个方式 Spring Boot 并不推荐。

编辑器会提示一个波浪线;能看到提示就是构造函数的方式实现。

通过构造函数,进行依赖注入

@RestController
public class PayController {

    private IPayOrderService payOrderService;

    public PayController(IPayOrderService payOrderService) {

    }

    /*
       需要的构造函数多了;就会很长的「代码」负担
    */

当然这个问题通过一个注解,  @AllArgsConstructor 解决。

这样会将所有的 「属性」 都定义 「构造函数」;太浪费了。

通过 /* final */ 关键字和  配合,完成仅对定义了  final 关键字的属性生成构造函数。

代码如下:

@RestController
@RequiredArgsConstructor
public class PayController {

    private final IPayOrderService payOrderService;

最开始的代码就变成了 

@Service
@RequiredArgsConstructor
public class CartServiceImpl implements ICartService {

    private final RestTemplate restTemplate;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 浅析Java模板方法的一种使用方式

    浅析Java模板方法的一种使用方式

    模板方法说白了就是将一段代码模板化,将通用的代码段抽取出来,并提供一些自定义的接口去定制的特定位置的某些业务功能。本文主要来和大家聊聊它的一种使用方式,希望对大家有所帮助
    2023-02-02
  • IDEA导入geoserver项目的详细步骤及注意事项

    IDEA导入geoserver项目的详细步骤及注意事项

    由于GeoServer是基于Java开发的。因此在安装之前,必须确保安装了Java。本文给大家分享IDEA导入geoserver项目的详细步骤及注意事项,感兴趣的朋友一起看看吧
    2021-06-06
  • Java数据结构篇之实现二叉搜索树的核心方法

    Java数据结构篇之实现二叉搜索树的核心方法

    二叉搜索树是一种常用的数据结构,它是一棵二叉树,且每个节点的值都大于其左子树中任何节点的值,而小于其右子树中任何节点的值,这篇文章主要给大家介绍了关于Java数据结构篇之实现二叉搜索树的核心方法,需要的朋友可以参考下
    2023-12-12
  • SpringBoot实现图片防盗链功能

    SpringBoot实现图片防盗链功能

    出于安全考虑,我们需要后端返回的图片只允许在某个网站内展示,不想被爬虫拿到图片地址后被下载,或者,不想浏览器直接访问图片链接,所以本文将给大家介绍SpringBoot实现图片防盗链功能,需要的朋友可以参考下
    2024-04-04
  • Java 设计模式之适配器模式详解

    Java 设计模式之适配器模式详解

    设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性
    2021-11-11
  • java对xml节点属性的增删改查实现方法

    java对xml节点属性的增删改查实现方法

    下面小编就为大家带来一篇java对xml节点属性的增删改查实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • Java11 发布前抓紧掌握这些新特性

    Java11 发布前抓紧掌握这些新特性

    Java 11即将发布,你准备好了? 在这篇文章中,我们讨论下在进入Java 11之前,你需要了解的Java 8、9和10的一些有用功能,若还在用Java 8以前的版本,那就太落伍了,这里首先要明确,Java 8:是一个针对传统传统版本的重大转变
    2018-09-09
  • Springboot集成RabbitMQ并验证五种消息模型

    Springboot集成RabbitMQ并验证五种消息模型

    RabbitMQ 提供了5种常用消息模型,本文主要介绍了Springboot集成RabbitMQ并验证五种消息模型,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • SprinBoot如何集成参数校验Validator及参数校验的高阶技巧

    SprinBoot如何集成参数校验Validator及参数校验的高阶技巧

    这篇文章主要介绍了SprinBoot如何集成参数校验Validator及参数校验的高阶技巧包括自定义校验、分组校验,本文分步骤给大家介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • SpringBoot主键ID传到前端后精度丢失的问题解决

    SpringBoot主键ID传到前端后精度丢失的问题解决

    这篇文章主要通过示例为大家详细介绍一些SpringBoot如何解决雪花算法主键ID传到前端后精度丢失问题,文中的示例代码讲解详细,需要的可以参考一下
    2022-05-05

最新评论