Lombok 安装、入门 - 消除冗长的java代码

jonathan
2016-09-19 / 0 评论

Lombok 安装、入门 - 消除冗长的java代码

前言

逛开源社区的时候无意发现的,用了一段时间,觉得还可以,特此推荐一下。lombok提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的java代码。特别是相对于POJO,光说不做不是我的风格,先来看看吧。

lombok的官方网址:http://projectlombok.org/

lombok其实到这里我就介绍完了,开个玩笑,其实官网上有lombok三分四十九秒的视频讲解,里面讲的也很清楚了,而且还有文档可以参考。在这里我就不扯太多,先来看一下lombok的安装,其实这个官网视频上也有讲到啦

lombok安装

使用lombok是需要安装的,如果不安装,IDE则无法解析lombok注解。先在官网下载最新版本的JAR包,现在是0.11.2版本,我用的是0.11.0。第一次使用的时候我下载的是最新版本的,也就是我现在用的0.11.0,到现在已经更新了两个版本,更新的好快啊......

1. 双击下载下来的JAR包安装lombok

我选择这种方式安装的时候提示没有发现任何IDE,所以我没安装成功,我是手动安装的。如果你想以这种方式安装,请参考官网的视频。

2. eclipse / myeclipse手动安装

  1. lombok.jar复制到myeclipse.ini / eclipse.ini所在的文件夹目录下
  2. 打开eclipse.ini / myeclipse.ini,在最后面插入以下两行并保存:
    -Xbootclasspath/a:lombok.jar
    -javaagent:lombok.jar
    
  3. 重启eclipse / myeclipse

lombok注解

lombok提供的注解不多,可以参考官方视频的讲解和官方文档。 Lombok注解在线帮助文档:http://projectlombok.org/features/index. 下面介绍几个我常用的lombok注解:

  • @Data:注解在类上;提供类所有属性的getting和setting方法,此外还提供了equals、canEqual、hashCode、toString方法
  • @Setter:注解在属性上;为属性提供setting方法
  • @Getter:注解在属性上;为属性提供getting方法
  • @Log4j:注解在类上;为类提供一个属性名为log的log4j日志对象
  • @NoArgsConstructor:注解在类上;为类提供一个无参的构造方法
  • @AllArgsConstructor:注解在类上;为类提供一个全参的构造方法

下面是简单示例

1. 不使用lombok的方案

public class Person {
    private String id;
    private String name;
    private String identity;
    private Logger log = Logger.getLogger(Person.class);

    public Person() {

    }

    public Person(String id, String name, String identity) {
        this.id = id;
        this.name = name;
        this.identity = identity;
    }

    public String getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public String getIdentity() {
        return identity;
    }

    public void setId(String id) {
        this.id = id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setIdentity(String identity) {
        this.identity = identity;
    }
}

2. 使用lombok的方案

@Data
@Log4j
@NoArgsConstructor
@AllArgsConstructor
public class Person {
    private String id;
    private String name;
    private String identity;
}

上面的两个java类,从作用上来看,它们的效果是一样的,相比较之下,很明显,使用lombok要简洁许多,特别是在类的属性较多的情况下,同时也避免了修改字段名字时候忘记修改方法名所犯的低级错误。最后需要注意的是,在使用lombok注解的时候记得要导入lombok.jar包到工程。

评论

博主关闭了当前页面的评论