lombok插件的基本使用与常用注解

导入架包或Maven添加依赖:
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.4</version>
          </dependency>

注解:
@NoArgsConstructor        创建无参构造器(如果类中含有final修饰的成员变量则无法使用)

@RequiredArgsConstructor    以类中所有带有@NonNull注解的或者带有final修饰的成员变量生成对应的构造方法

@AllArgsConstructor        全参构造器(不会把父类的属性加到构造器中)

@Cleanup            默认是调用资源的close()方法

@Data                效果等同于@Getter + @Setter + @ToString + @EqualsAndHashCode + @RequiredArgsConstructor    (不包括@NoArgsConstructor和@AllArgsConstructor)

@Value                和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法

@ToString            toString()

@EqualsAndHashCode        equals和hashcode、canEqual方法

@Getter/@Setter            用在成员变量上为成员变量生成对应的get和set方法,用在类上面为此类里的所有非静态成员变量生成对应的get和set方法(如果是final变量,那就只会有get方法)

@NonNull            用在成员方法或者构造方法的参数前面,会自动产生一个关于此参数的非空检查,如果参数为空,则抛出一个空指针异常

@Log4j                用在类上相当于private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(类名.class);

Lombok这款插件依靠可插件化的Java自定义注解处理API(JSR 269: Pluggable Annotation Processing API)来实现在Javac编译阶段利用“Annotation Processor”对自定义的注解进行预处理后生成真正在JVM上面执行的“Class文件”
在Javac 解析成AST抽象语法树之后, Lombok 根据自己编写的注解处理器,动态地修改 AST,增加新的节点(即Lombok自定义注解所需要生成的代码),最终通过分析生成JVM可执行的字节码Class文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值