Lombok的使用
LomBok介绍在项目中使用Lombok可以减少很多重复代码的书写。比如说getter/setter/toString等方法的编写。官方地址:https://projectlombok.org/gitHub地址: https://github.com/rzwitserloot/lombok## Idea安装插件打开IDEA的Setting –> 选择Plugins选项 –&a
LomBok介绍
在项目中使用Lombok可以减少很多重复代码的书写。比如说getter/setter/toString等方法的编写。
官方地址:https://projectlombok.org/
gitHub地址: https://github.com/rzwitserloot/lombok
实现原理
Lombok实现了JSR 269 API规范,javac在Java6开始支持这一规范,只要程序实现了该API,就能在javac运行的时候得到调用,那么Lombok在编译时使用的就是javac,具体流程如下:
Idea安装插件
打开IDEA的Setting –> 选择Plugins选项 –> 选择Browse repositories –> 搜索lombok –> 点击安装 –> 安装完成重启IDEA –> 安装成功
Pom引入依赖
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<scope>provided</scope>
</dependency>
常用注释
Lombok 注解在线帮助文档:https://projectlombok.org/features/index.html.
下面介绍几个常用的 lombok 注解:
@Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供equals、canEqual、hashCode、toString 方法
@Setter:注解在属性上;为属性提供 setting 方法
@Getter:注解在属性上;为属性提供 getting 方法
@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@NonNull:消除空指针异常
@Cleanup:释放资源
@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法
代码对比
@Getter和@Setter
该注解使用在类或者属性上,该注解可以使用在类上也可以使用在属性上。生成的getter遵循布尔属性的约定。例如:boolean类型的sex,getter方法为isSex而不是getSex在使用该注解时,会默认生成一个无参构造。和对应的getter和setter方法 。
public class Person {
private String id;
private Logger log = Logger.getLogger(Person.class);
public Person() {
}
public Person(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
上述代码使用lombok简化之后如下
@Log4j
@NoArgsConstructor
@AllArgsConstructor
public class Person {
@Getter @Setter
private String id;
}
@Data
该注解使用在类上,该注解会提供getter、setter、equals、canEqual、hashCode、toString方法。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)