【译】使用 Lombok 减少你的样板代码

Lomok是一个用来简化java代码开发的java库。这篇文章主要解决getters/setters、重写equals、hashCode、toString以及构造函数的编写问题。如果用普通的java编写方式,一定很繁琐。当你看到Lombok项目时,它会让你觉得一身轻松。

使用 Lombok 减少你的样板代码

1. 不用再写getters\setters方法了

比如下面的pojo类,用普通的方式写会是这样:

当写这些getters/setters方法时,我开始慢慢讨厌java了。

使用Lomok的方式来写会是这样:

是不是很容易?

除了这些,Lombok API还提供了其他很棒的特性:

  1. 不用重写toString方法:可以在pojo类上使用@ToString注解,lombok会把重写后的toString方法放到类中
  2. 不用重写equals和hashCode方法:在pojo类上使用@EqualsAndHashCode注解,在编译的时候很容易生成equal射hashCode方法
  3. 用注解来生成构造函数:
    • @NoArgsConstructor:用来创建无参的构造函数
    • @RequiredArgsConstructor:用来创建构造函数,其参数由所有未初始化的final字段和标记了@NonNull注解的字段
    • @AllArgsConstructor:用所有的字段作为参数,来创建构造函数

这些都是很常用的特性,其他特性可以在这里找到:project lombok site

使用了Lombok和未使用Lombok对比的例子

比如我们需要一个类,这个类需要包含equals、hashCode、toString、getters\setters、构造函数。

如果用Lombok来写:

这样写后Lombok会把这段代码转成常规的java pojo类代码

如果不用Lombok来写:

此时可能很多java开发会争辩了:“IDE可以帮我们生成这些繁琐的代码,速度比写注解来得更快把!”

如果你这样想,那么你可能遗漏了一点:人们不喜欢java,因为控制和编写所有这些代码其实是一种坏味道。相同的代码在Ruby、Groovy、Perl或者其他脚本语言中都很简单,为啥在java中如此冗长呢。简单才是好,Lombok正是为了java的简单而存在。(java开发应该把更多的时间放在其他的业务逻辑中,不应该在这些地方浪费时间)。

详细内容请看Lombok的官网:https://projectlombok.org/,里面有一段视频介绍,能很清晰介绍如何在eclipse中使用Lombok来简化你的开发。

Lombok的在eclipse中的安装和使用

  • 官网上有视频:https://projectlombok.org/。
  • 安装和使用的文档:http://jnb.ociweb.com/jnb/jnbJan2010.html
  • Lombok其实是通过agent机制在eclipse的启动参数中添加了一个agent(-javaagent:lombok.jar)

Lombok在maven中的使用

在maven中依赖上Lombok:https://projectlombok.org/mavenrepo/index.html

如果需要在maven中使用其打包,请看这里:http://awhitford.github.io/lombok.maven/lombok-maven-plugin/usage.html

Reference

  • 原文:http://keaplogik.blogspot.com/2013/04/java-developers-need-to-be-using-lombok.html
  • http://www.oschina.net/translate/lombok-reduces-your-boilerplate-code?cmp
  • http://www.ibm.com/developerworks/cn/java/j-lombok/

原创文章:【译】使用 Lombok 减少你的样板代码,转载请注明:转载自戎码一生

Post Footer automatically generated by wp-posturl plugin for wordpress.