参考链接URL: http://www.cnblogs.com/ywqbj/p/5711691.html
1、@Data
使用 @Data 注解就可以有下面几个注解的功能: @ToString、@Getter、@Setter、@EqualsAndHashCode、@NoArgsConstructor 。
注意的是,同时使用@Data 和 @AllArgsConstructor 后 ,默认的无参构造函数失效,如果需要它,要重新设置 @NoArgsConstructor。
2、@Cleanup
InputStream in = new FileInputStream(args[0]);
@Cleanup
OutputStream out = new FileOutputStream(args[1]);
自动化关闭流,相当于 jdk1.7 种的 try with resource
3、@NonNull
public NonNullExample(@NonNull Person person) {
this.name = person.getName();
}
转换后就是:
public NonNullExample(@NonNull Person person) {
if (person == null) {
throw new NullPointerException("person");
}
this.name = person.getName();
}
4、@Slf4j
//类上面注解了,直接调用 log 即可:
log.info(xxxx);
5、val:用在局部变量前面,相当于将变量声明为final
public static void main(String[] args) {
val sets = new HashSet<String>();
val lists = new ArrayList<String>();
val maps = new HashMap<String, String>();
//=>相当于如下
final Set<String> sets2 = new HashSet<>();
final List<String> lists2 = new ArrayList<>();
final Map<String, String> maps2 = new HashMap<>();
}
6、pom.xml文件需要配置如下:装
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>