前言
在开发过程中, 我们经常会写很多的属性和get/set
方法。 也就是我们常常说的,对于属性私有,对于接口开放。 但是这样会造成代码非常的冗余,并且在改变属性名称的时候,会导致更新的代码较多。 所以,我们在开发的过程中,经常使用lombok
工具来方便我们进行使用。
PS: 这个最早项目的时候就有用到。不过当时没有记录,这次重新搭建环境时候用到了,记录一下。
安装
https://projectlombok.org/download
- cd到你的
lombok
目录, 运行Jar包.java -jar lombok.jar
- 找到你的IDE, 然后点击
Install
标签。
好家伙。mac里面直接报错。看起来这样安装不太行()
Mac安装 - Fixed 方案
-
拷贝
lombok.jar
到你的安装目录
-
更改
eclipse.ini
-javaagent:../Eclipse/lombok-1.16.18.jar
-vmargs -javaagent:lombok-1.16.18.jar
- 更新后,重启
Eclipse
.
Lombok基本使用
- Maven 导入相应包
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.20</version>
<scope>provided</scope>
</dependency>
- 写一个
PoJo类
,加上相应标签。
package com.yanxml.arsenal.java.lombok.demo.pojo;
import lombok.Data;
@Data
public class PersonDO {
private Integer id;
private String name;
public static void main(String[] args) {
PersonDO helloPerson = new PersonDO();
helloPerson.setId(7);
helloPerson.setName("HelloWorld");
System.out.println("Person ID:"+helloPerson.getId()+" Name:"+helloPerson.getName());
}
}
- 其中
@Data
就是lombok
的标签之一。 学过annonation
都知道, 这就是Java
的语法糖之一.
看了下注解可以知道。其可以等价于如下的几个标签@Getter
/@Setter
/RequiredArgsContructor
/@ToString
/@EqualsAndHashCode
More Annonations: https://projectlombok.org/features/all
Others 非Lombok场景
这里更新下不使用lombok
的场景,方便大家升入理解一下。
package com.yanxml.arsenal.java.lombok.demo.pojo;
public class UnLombokPersonDO {
private Integer id;
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public static void main(String[] args) {
UnLombokPersonDO unLombokPersonDO = new UnLombokPersonDO();
unLombokPersonDO.setId(9);
unLombokPersonDO.setName("NoLombokPersonDO");
System.out.println("UnLombokPersonDO ID:"+unLombokPersonDO.getId()+" Name:"+unLombokPersonDO.getName());
}
}
- 不使用
Lombok
就需要添加非常多的get/set
方法。造成代码的冗余.
Reference
[1]. (官方) https://projectlombok.org/features/all
[2]. Mac Eclipse安装lombok
[3]. (知乎) Java开发中用到的,lombok是什么?
[4]. Eclipse安装lombok插件