Java开发神器lombok

背景

我们在Java的开发过程中,通常都会定义大量的JavaBean,然后通过IDE去生成其属性的构造器、getter、setter、equals、hashcode、toString方法,当要对某个属性进行改变时,比如命名、类型等,都需要重新去生成上面提到的这些方法。虽然这些IDE会帮我们做,但还是很麻烦,代码很臃肿,那有没有一种方式能够避免这种重复的操作那?答案是有的,现在给就大家安利一个开发神器——lombok,只需一个注解,真的只要一个注解。

简介

虽然Lombok也用到了注解,但是它并没有用到反射,而是通过一些奇淫巧技,在代码编译时期动态将注解替换为具体的代码。所以JVM实际运行的代码,和我们手动编写的包含了各种工具方法的类相同。

注解介绍

  • val - 终级解决方案!简化 final 局部变量定义。
  • @NonNull - 或者:了解我是怎样停止担心并爱上 NullPointerException 的。
  • @Cleanup - 怎么资源管理:方便而安全地调用 close() 方法。
  • @Getter / @Setter - 不再需要写像 public int getFoo() {return foo;} 这样的代码。
  • @ToString - 不用启动debug就能观察字段值:让 Lombok 为你生成 toString!
  • @EqualsAndHashCode - 让equal变得容易:在项目中由字段实现 hashCode 和 equals。
  • @NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor - 定制构造器:生成无参构造函数,对每个 final/非空 字段产生构造器,全参构造函数。
  • @Data - 它合并所有注解:相当于对所有字段应用 @ToString、@EqualsAndHashCode、@Getter,并对所有非 final 字段应用 @Setter,以及应用 @RequiredArgsConstructor!
  • @Value - 简单创意不可变类。
  • @Builder - … 一切都很简单:简单直接地创建对象的 API!
  • @SneakyThrows - 大胆的抛出以前不能轻易抛出的异常!
  • @Synchronized - 正确的同步:不要暴露你的锁。
  • @Getter(lazy=true) - 懒加载是种美德!
  • @Log - 打印log是一种习惯!

安装

IDEA安装lombok:
File->Setting->Plugins->Browse repositories... 搜索lombok然后点击Install就OK了。
Eclipse安装lombok:
首先在官网下载插件lombok.jar,然后双击运行lombok.jar,数秒后将弹出一框,以确认eclipse的安装路径,然后点击install/update按钮,即可安装完成。重启Eclipse即可。

导包

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.18</version>
    <scope>provided</scope>
</dependency>

接下就可以尽情体验lombok带来的便利了。

posted @ 2017-11-12 21:03  笔筒上的熊先生  阅读(318)  评论(0编辑  收藏  举报