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带来的便利了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Lombok简介 Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的...
    缓慢移动的蜗牛阅读 145,245评论 19 124
  • 备注:全文转自:http://www.jiucool.org/lombok-java-eclipse/最近回家闲暇...
    贾里阅读 1,845评论 0 0
  • Lombok是什么lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java ...
    意识流丶阅读 2,216评论 0 5
  • 序 不知道大家是否真的了解21天效应。 个人比较喜欢上网查东西。给大家看看网上的解释:这是说,一个人的动作、或想法...
    祁彦希阅读 734评论 3 3
  • 每个人的青春都只有短短的十几年,而我们这些之前看似矫情、无所谓的90后也都慢慢的告别着曾经有过的疯狂,无忧无虑的...
    v崽阅读 181评论 0 0