在 java平台上,lombok 提供了简单的注解的形式来帮助我们消除一些必须有但看起来很臃肿的代码, 比如属性的get/set,及对象的toString等方法,特别是相对于 POJO;
eclipse中使用Lombok
windows环境
1.下载lombok.jar包https://projectlombok.org/download.html,或在maven中下载;
2.运行Lombok.jar:
Java -jar D:\software\lombok.jar
D:\software\lombok.jar这是windows下lombok.jar所在的位置
数秒后将弹出一框,以确认eclipse的安装路径
3.确认完eclipse的安装路径后,点击install/update按钮,即可安装完成
4.安装完成之后,请确认eclipse安装路径下是否多了一个lombok.jar包,并且其
配置文件eclipse.ini中是否 添加了如下内容:
-javaagent:lombok.jar
-Xbootclasspath/a:lombok.jar
如果上面的答案均为true,那么恭喜你已经安装成功,否则将缺少的部分添加到相应的位置即可
5.重启eclipse或myeclipse
ubuntu环境
基本步骤和上面一样,在第二步
2.执行
java -jar /home/user/software/eclipse/lombok.jar
/home/user/software/eclipse/lombok.jar是我的lombok.jar所在的目录。
我的eclipse是安装在/home/user/software/eclipse/目录下
执行完成之后,查看eclipse.ini文件查看:
-javaagent:/home/user/software/eclipse/lombok.jar
IDEA中添加lombok插件
1 . 首先在IDEA里面安装使用lombok编写简略风格代码的插件,
打开IDEA的Settings面板,并选择Plugins选项,然后点击 “Browse repositories..”
在输入框输入”lombok”,得到搜索结果,选择第二个,点击安装,然后安装提示重启IDEA,安装成功;
2 . 在自己的项目里添加lombok的编译支持(此处本人所操作的项目为maven项目),在pom文件里面添加如下indenpence
org.projectlombok
lombok
1.16.6
provided
并添加以下配置:
<plugin> <groupId>org.apache.maven.pluginsgroupId> <artifactId>maven-compiler-pluginartifactId> <version>3.6.0version> <configuration> <source>1.7source> <target>1.7target> <skip>trueskip> <annotationProcessorPaths> <path> <groupId>org.projectlombokgroupId> <artifactId>lombokartifactId> <version>1.16.6version> path> annotationProcessorPaths> configuration> plugin>
3 . 然后就可以尽情在自己项目里面编写简略风格的Java代码咯
package com.lombok;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
* Created by Hinsteny on 2016/1/3.
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class Student {
String name;
int sex;
Integer age;
String address;
List books;
}
//使用Student类对象
Student student = new Student();
student.setName(name);
student.setAge(age);
student.setAddress(address);
student.setBooks(Arrays.asList(books));
Lombok注释指南
@Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
@Setter:注解在属性上;为属性提供 setting 方法
@Getter:注解在属性上;为属性提供 getting 方法
@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法
@NonNull:注解在参数上 如果该参数为null 会throw new NullPointerException(参数名);
@Cleanup:注释在引用变量前:自动回收资源 默认调用close方法
@Cleanup("dispose") org.eclipse.swt.widgets.CoolBar bar = new CoolBar(parent, 0);
@Cleanup InputStream in = new FileInputStream(args[0]);
@Cleanup OutputStream out = new FileOutputStream(args[1]);
@Builder:注解在类上;为类提供一个内部的Builder
在线帮助文档:
https://projectlombok.org/features/index.html
官网:
https://projectlombok.org/
英文原版:
https://projectlombok.org/features/index.html