服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - 使用@RequiredArgsConstructor注解来取代繁琐的@Autowrired

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

2022-11-24 14:17掉发的小王 Java教程

有了@RequiredArgsConstructor注解,我们就可以减少@Autowired的书写,本文主要介绍了使用@RequiredArgsConstructor注解来取代繁琐的@Autowrired,感兴趣的可以了解一下

一、前言

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

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

二、导入Lombok依赖

?
1
2
3
4
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

三、注解使用

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
@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注解内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_52423918/article/details/124289819

延伸 · 阅读

精彩推荐