Lombok常用方法及原理介绍(AST)

⼀种简化源码提⾼编程效率的⼯具,⽤于⽣成常⽤的代码。

两个包:

  • lombok

  • lombok.experimental (实验的特性)

如何使用lombok

引⼊依赖 

            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
            </dependency>

安装插件 

代码中使⽤

@Data
public class People {
    private String name;
}

常用注解汇总

@val

声明变量时能自行推断变量类型, 并且自带 final 属性,

@Data

@ToString、@EqualsAndHashCode、@Getter、@Setter和@RequiredArgsConstrutor

@Slf4j

生成 log 对象

@Value

与 @Data 类似, 有以下两点区别:

  • 生成的是全参的构造器;

  • 只有 getter 方法, 没有 setter 方法;

@Getter

所有属性的Getter方法

@Setter

所有属性的Setter方法

@Builder

生成链式构造器的代码

@Cleanup

安全释放或者关闭资源, 最常见的场景就是 IO 中关闭流的操作

@NonNull

getter : 如果获取出来属性为 null, 则抛出 NPE

setter : 如果设置属性时, 传入的值为 null, 则抛出 NPE

@ToString

生成 toString() 方法

@SneakyThrows

将抛出的异常吃掉, 减少一些不必要的 try catch 代码

@NoArgsConstructor

生成一个无参构造方法

@AllArgsConstructor

添加一个包含所有属性的Constructor

@EqualsAndHashCode

生成 equals() 和 hashcode() 方法

@RequiredArgsConstrutor

会生成一个包含常量,和标识了NotNull的变量的构造方法

案例

被注释的部分是lombok会帮助我们自动生成的代码。

@Slf4j

@Slf4j
public class Test {
    // private static final Logger log=LoggerFactory.getLogger(Test.cl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宇宙超级无敌程序媛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值