以简单的方式消除Java冗余

发表于:2010-4-14 10:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

#
java

  何为 Lombok?

  Lombok 是一种 Java Archive (JAR) 文件,可用来消除 Java 代码的冗长。

  我们看这样一个例子,一个标准的 Java bean。一个典型的 Java bean 一般具有几个属性。每个属性具有一个 accessor 和 mutator(getter 和 setter)。通常还会有一个 toString() 方法、一个 equals() 方法和一个 hashCode() 方法。

  初看上去,其中可预见的冗余就已经非常多了。如果每个属性都具有一个 getter 和 setter,并且通常如此,那么又何必详细说明呢?

  让我们来看看 Lombok。为了消除代码行,Lombok 使用注释来标识类和 Java 代码块。在前述的那个 Java bean 示例中,所有的 getter、setter 以及其他三个方法都是在编译时被暗示并包括进来的。

  而且更好的是如果您使用的是 Eclipse 或 IBM? WebSphere? Studio Application Developer(如果还没用的话,建议最好使用),您就可以将 Lombok 集成到 Java 项目并即刻获得开发时结果。换言之,Eclipse 编译器可以立即识别所暗指的 getters/setters,而其他 Java 代码则可引用这些方法。

  最直接的好处当然是代码行的减少,这真的很棒。并且,如果有一个特定的 getter 或 setter 需要特别的注意,那么您就不必为了找到这个特定的 getter 或 setter 而遍历数十行代码。代码也会更为简洁并且冗余也少了。

  Lombok 还让您得以简化代码的其他部分 - 不仅仅是 Java bean。比如,还可以减少 try/catch/finally 块内以及同步方法内的冗余代码。

  现在,我们来看看在您自己的开发环境中如何能实现上述目的。

  安装 Lombok

  要进行安装,本文假设您使用的是 Eclipse 或 WebSphere Studio Application Developer。如果不是,您仍可使用 Lombok;但是不能享用开发时的种种益处。不过,您仍然可以享用编译时的益处。

  首先,打开您的浏览器并将 URL 指向http://projectlombok.org/

  在撰写本文之时,用这个 URL 打开的页面的右上角会出现一个很大的单词。这个单词是 "Download"。单击该单词并开始下载 lombok.jar。此文件无需解压缩,而从其他站点下载的文件中,99% 都需要解压缩。

  下载此文件后,需要执行这个 JAR 文件。在您的操作系统中打开一个提示符,进入到安装了 lombok.jar 的那个目录,并键入 java -jar lombok.jar。

  以上假设在您的路径内已经有 Java Runtime Environment (JRE)。如果没有,需要添加它。如果要了解如何添加,可以参考针对您的具体操作系统的相关文档。

  如果您使用的是 Microsoft? Windows?,那么还可以双击这个 lombok.jar 图标。同样地,您必须能够从您的图形用户界面(GUI)执行 JAR。

  不管采取何种方式,应该最终都能看到一个 Lombok 安装屏幕。该屏幕会提问 Eclipse 或 WebSphere Studio Application Developer 可执行文件位于何处。它的默认位置有可能是正确的。但有时可能需要更改这个默认位置。

  单击 Install/Update,Lombok 会被迅速并入 Eclipse 开发环境。如果已经运行了 Eclipse,那么就需要关闭它并重启。

  使用 Lombok

  现在,就可以在 Eclipse 或 WebSphere Studio Application Developer 内开始使用 Lombok 了。请参考清单 1 内的代码。

  清单 1. Java bean 的一个良好开端

public class Lure {
private String name;
private int size;
private String color;
private String style;
}

  以上是一个简单的 Java bean 的典型开始。从这里,可以为每个属性添加 getters 和 setters。然后再添加一个 equals() 方法、一个 toString() 方法和一个 hashCode() 方法。

  有了 Lombok,您无需自己完成上述操作。相反,您只需添加一个注释:@Data。

  没错,就这么简单。清单 2 中包括了 @Data。

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号