使用@RequiredArgsConstructor注解来取代繁琐的@Autowrired

 更新时间:2022年04月26日 15:03:37   作者:掉发的小王  
有了@RequiredArgsConstructor注解,我们就可以减少@Autowired的书写,本文主要介绍了使用@RequiredArgsConstructor注解来取代繁琐的@Autowrired,感兴趣的可以了解一下

一、前言

小编最近在项目里看到有的同事大神用到了Lombok中的一个@RequiredArgsConstructor,带着好奇发现这个东西就是简化了一些@Autowired注解,想想如果一个Service还有几十个注入,这样就要写上几十个@Autowired,这样代码显示很臃肿哈。有了@RequiredArgsConstructor注解,我们就可以减少@Autowired的书写。用过的人都说好哈,下面带大家一起使用一下!

在我们写controller或者Service层的时候,需要注入很多的mapper接口或者另外的service接口,这时候就会写很多的@Autowired注解,代码看起来很乱,还很繁琐

二、导入Lombok依赖

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

三、注解使用

友情提示:类上加上@RequiredArgsConstructor,需要注入的类要用final声明,或者使用@NonNull。

@RestController
@RequestMapping("/test")
@Slf4j
// 作用在类上
@RequiredArgsConstructor
public class TestController {

    // 必须声明为final类型
    private final TestService testService;
    
    // 或者使用Lombok的注解
    @NonNull
    private TestMapper testMapper;
    
    @GetMapping("/hello3")
    public int hello3(){

        Test test = new Test();
        test.setName("sss");
        test.setId("0");

        return testMapper.insert(test);
    }
}

四、总结

有时候这样感觉没什么用,和@Autowrired差不多,但是我们要多去尝试一些新的东西,才能成长哈。

到此这篇关于使用@RequiredArgsConstructor注解来取代繁琐的@Autowrired的文章就介绍到这了,更多相关@RequiredArgsConstructor注解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springboot模块里面调用另外一个模块的方法实现

    springboot模块里面调用另外一个模块的方法实现

    在Spring-Boot项目开发中,存在着本模块的代码需要访问外面模块接口,本文就来介绍一下springboot模块里面调用另外一个模块的方法实现,感兴趣的可以了解一下
    2023-11-11
  • spring boot集成p6spy的最佳实践

    spring boot集成p6spy的最佳实践

    这篇文章主要介绍了spring boot集成p6spy的最佳实践-p6spy-spring-boot-starter的项目案例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-02-02
  • 基于Idea+Jconsole实现线程监控步骤

    基于Idea+Jconsole实现线程监控步骤

    这篇文章主要介绍了基于Idea+Jconsole实现线程监控功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • intellij idea查看方法被哪些类引用过(推荐)

    intellij idea查看方法被哪些类引用过(推荐)

    这篇文章主要介绍了intellij idea查看方法被哪些类引用过,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • maven配置文件pom增加变量取版本号方式

    maven配置文件pom增加变量取版本号方式

    这篇文章主要介绍了maven配置文件pom增加变量取版本号方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Servlet Filter过滤器执行顺序

    Servlet Filter过滤器执行顺序

    这篇文章主要介绍了Servlet Filter过滤器执行顺序的相关资料,帮助大家更好的理解为什么要用过滤器,感兴趣的朋友可以了解下
    2020-12-12
  • logback的AsyncAppender高效日志处理方式源码解析

    logback的AsyncAppender高效日志处理方式源码解析

    这篇文章主要为大家介绍了logback的AsyncAppender高效日志处理方式源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Java easyui树形表格TreeGrid的实现代码

    Java easyui树形表格TreeGrid的实现代码

    这篇文章主要为大家详细介绍了Java easyui树形表格TreeGrid的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • IDEA插件EasyCode及MyBatis最优配置步骤详解

    IDEA插件EasyCode及MyBatis最优配置步骤详解

    这篇文章主要介绍了IDEA插件EasyCode MyBatis最优配置步骤详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Maven 仓库国内镜像源收藏(小结)

    Maven 仓库国内镜像源收藏(小结)

    这篇文章主要介绍了Maven 仓库国内镜像源收藏(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论