mszhe的技术分享 人心惟危,道心惟微。惟精惟一,允执厥中。

lombok

2016-09-06

阅读:


  • 好处:有了lombok,就免去了实体类写get/set等通用方法的麻烦
  • 缺点:降低了代码的可读性
  • 主页:lombok主页
  • 示例:

之前:

package com.binge.entity;

import java.io.Serializable;
import java.util.List;

public class User implements Serializable{
    private static final long serialVersionUID = 707985171749658644L;
    private Long id;
    private String name;
    private List<String> friends;

    public User() {
    }

    public User(Long id, String name, List<String> friends) {
        this.id = id;
        this.name = name;
        this.friends = friends;
    }

    public Long getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public List<String> getFriends() {
        return friends;
    }

    public void setFriends(List<String> friends) {
        this.friends = friends;
    }
}

现在:

  • jar包依赖
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.10</version>
    <scope>provided</scope> <!--声明周期为编译,打包的时候jar包不会打入目标包中-->
</dependency>
  • 实体类
package com.binge.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User implements Serializable {
    private static final long serialVersionUID = 707985171749658644L;
    private Long id;
    private String name;
    private List<String> friends;
}

常见标签

  • @Getter / @Setter:自动生成get/set方法1,详见
  • @Data:自动生成get/set方法2,详见
  • @Cleanup:资源关闭,详见
  • @NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor:构造器自动生成,详见
  • @Log:日志工具类,详见
  • 其它,详见

上一篇 vscode

下一篇 java缓存策略