Lombok的@AllArgsConstructor注解

lombok用了很长一段时间了,但是基本就是是只有使用@Data @Setter和@Getter这些现在都没怎么营养的东西,也没有去认真去看Lombok的文档,最近看到一个@AllArgsConstructor注解很新奇。

Lombok的文档地址:
Lombok官方文档

首先我们拦一下它的定义:
在这里插入图片描述

@AllArgsConstructor generates a constructor with 1 parameter for each field in your class.

说人话,就是用这个注解修饰的类会把里面的变量都生成全参数的构造器(那么问题来了,有全参数的构造器参数,那有没有没有参数的构造器的参数注解吗?这就是@NoArgsConstructor)

那还是有点疑问,我用它来给我生成参数构造器,有啥用看一下这个代码加了@AllArgsConstructori前后的变化

@Component
@Slf4j
public class EmployeeSyncSupport {
    @Autowired
    private AccountSupport accountSupport;
   @Autowired
    private EmployeeMapper employeeMapper;
   @Autowired
    private EmployeeSupport employeeSupport;


}
@Component
@Slf4j
@AllArgsConstructor
public class EmployeeSyncSupport {

    private AccountSupport accountSupport;

    private EmployeeMapper employeeMapper;

    private EmployeeSupport employeeSupport;


}

是不是清爽了不少,@Autowired的默认装配,自动装配对象的,实际上也可以理解为我们装配一个构造器进来,正好和@AllArgsConstructor作用对应起来,但是要考虑一个问题,如果你类里面有@Value这些可能会,项目启动会报错,大概意思就是你这个@Autowired搞多了有点重复,实际问题就有可能是出在@AllArgsConstructor上面,我一般来说比较喜欢单个装配@Autowired但是你这个类没有其他的乱七八糟的注解什么的@AllArgsConstructor确实能让代码清爽一点。

  • 16
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值