使用Lombok总结
程序员文章站
2022-03-22 14:37:16
Lombok学习总结 Lombok介绍: 官网:https://projectlombok.org/ 通过简单的注解来精简代码达到消除冗长代码的目的 Lombok优点:提高编码效率,使代码更简洁,消除冗长代码,避免修改字段名字时忘记修改方法名 注意:idea上必须要支持Lombok,否则报错 Lom ......
lombok学习总结
project lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
lombok介绍:
官网:
通过简单的注解来精简代码达到消除冗长代码的目的
lombok优点:提高编码效率,使代码更简洁,消除冗长代码,避免修改字段名字时忘记修改方法名
注意:idea上必须要支持lombok,否则报错
lombok引入:
maven引入:
<dependency> <groupid>org.projectlombok</groupid> <artifactid>lombok</artifactid> <version>1.16.20</version> </dependency>
idea插件:
在实体类可以用idea快捷键 ctrl+f12 查看方法
lombok相关注解:
这里只说明下常用的,官方说明都有()
@data
注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canequal、hashcode、tostring 方法
使用 @data 注解就可以有这几个注解的功能:@tostring 、@getter 、@setter 、@equalsandhashcode 、@noargsconstructor
@setter
注解在属性上;为属性提供 setting 方法
@getter
注解在属性上;为属性提供 getting 方法
@log4j
@slf4j
注解在类上;为类提供一个 属性名为log 的 log4j 日志对象 具体看项目中用到的日志框架
@noargsconstructor
注解在类上;为类提供一个无参的构造方法
@allargsconstructor
注解在类上;为类提供一个全参的构造方法,同时如果变量使用了notnull annotation , 会进行是否为空的校验,
全部参数的构造函数的自动生成,该注解的作用域也是只有在实体类上,参数的顺序与属性定义的顺序一致。
@cleanup
自动化关闭流,相当于 jdk1.7 中的 try with resource
@builder
被注解的类加个构造者模式
@synchronized
加个同步锁 方法中所有的代码都加入到一个代码块中,默认静态方法使用的是全局锁,普通方法使用的是对象锁,当然也可以指定锁的对象。
@sneakythrows
等同于try/catch 捕获异常 当我们需要抛出异常,在当前方法上调用,不用显示的在方法名后面写 throw
@nonnull
如果给参数加个这个注解 参数为null会抛出空指针异常
@value
注解和@data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。
@tostring
注解在类上;为类提供tostring方法(可以添加排除和依赖)
@requiredargsconstructor
会生成一个包含常量(final),和标识了@notnull的变量 的构造方法。
@accessors
翻译是存取器。通过该注解可以控制getter和setter方法的形式。
fluent 若为true,则getter和setter方法的方法名都是属性名,且setter方法返回当前对象
chain 若为true,则setter方法返回当前对象
prefix 若为true,则getter和setter方法会忽视属性名的指定前缀(遵守驼峰命名)