当前位置:主页 > 软件编程 > JAVA代码 >

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

时间:2022-11-02 11:00:54 | 栏目:JAVA代码 | 点击:

一、前言

小编最近在项目里看到有的同事大神用到了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差不多,但是我们要多去尝试一些新的东西,才能成长哈。

您可能感兴趣的文章:

相关文章