在 java平台上,lombok 提供了简单的注解的形式来帮助我们消除一些必须有但看起来很臃肿的代码, 比如属性的get/set,及对象的toString等方法,特别是相对于 POJO
在写Java程序的时候经常会遇到如下情形:
新建了一个Class类,然后在其中设置了几个字段,最后还需要花费很多时间来建立getter和setter方法
lombok项目的产生就是为了省去我们手动创建getter和setter方法的麻烦,它能够在我们编译源码的时候自动帮我们生成getter和setter方法。即它最终能够达到的效果是:在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。
打开IDEA的Settings面板,并选择Plugins选项,然后点击 “Browse repositories..",在输入框输入”lombok”,得到搜索结果,选择第二个,点击安装,然后安装提示重启IDEA,安装成功;
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.6</version>
</dependency>
package com.lombok;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
@Data
public class Student {
String name;
int sex;
Integer age;
String address;
List<String> books;
}
lombok 提供的注解不多,可以参考官方视频的讲解和官方文档。
Lombok 注解在线帮助文档:http://jnb.ociweb.com/jnb/jnbJan2010.html
下面介绍几个常用的 lombok 注解:
@Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、 hashCode、toString 方法
@Setter:注解在属性上;为属性提供 setting 方法
@Getter:注解在属性上;为属性提供 getting 方法
@Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法
自从Java 6起,javac就支持“JSR 269 Pluggable Annotation Processing API”规范,只要程序实现了该API,就能在javac运行的时候得到调用。
lombok本质上就是这样的一个实现了"JSR 269 API"的程序。在使用javac的过程中,它产生作用的具体流程如下:
http://blog.csdn.net/u011299686/article/details/13772305
http://blog.csdn.net/hinstenyhisoka/article/details/50468271
http://blog.csdn.net/tanga842428/article/details/53426589
原文:https://www.cnblogs.com/coderzhw/p/11094315.html