lombok使用

来源:互联网 发布:淘宝直播能在电脑看吗 编辑:程序博客网 时间:2024/05/17 02:25
  • 背景
  • lombok简介
  • lombok使用

1、背景
定义bean时,往往对private类型的属性生成get/set方法;实例化对象方法之一就是利用构造函数,于是又要生成构造函数;或者toString方法、equals、hashcode方法等,这些使得代码变的极其臃肿,尤其是此类作为内部类使用和属性很多时。lombok可以从一定程度上改进这个bug。

2、lombok简介
lombok是一个可以使用注解来消除冗余代码的java库,使用了lombok会在编译时直接生成对应的方法。使用lombok可一定程度上简化代码。lombok官网https://projectlombok.org/

pom中需要引入:

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.12</version>
<scope>provided</scope>
</dependency>

Intellij idea中使用需要安装lombok插件: Settings > Plugins > 点击 Browse repositories > 搜索 Lombok Plugin > 点击 Install plugin > 重启idea
 
3、lombok使用
lombok提供了诸多注解:这里这例举一些常用的,更多可参考https://projectlombok.org/features/all

注解等价@Getter/@Setterget/set@ToStringtoString()@EqualsAndHashCodeequals()、hashCode()@NoArgsConstructor/@RequiredArgsConstructor/@AllArgsConstructor无参/有参/全参构造函数@Data@Getter/@Setter、@ToString、@EqualsAndHashCode、@RequiredArgsConstructor组合@ValueImmutable class(final类型)
例如:使用lombok的 @Getter/@Setter 前:

private class ActOnePayParam {
private Stringchannel;
private Stringappplt;
private Stringmd5key;
private Stringpackageid;

public String getChannel() {
returnchannel;
}

public void setChannel(String channel) {
this.channel = channel;
}

public String getAppplt() {
returnappplt;
}

public void setAppplt(String appplt) {
this.appplt = appplt;
}

public String getMd5key() {
returnmd5key;
}

public void setMd5key(String md5key) {
this.md5key = md5key;
}

public String getPackageid() {
returnpackageid;
}

public void setPackageid(String packageid) {
this.packageid = packageid;
}
}

使用后简化为:
@Getter
@Setter
private class ActOnePayParam {
private Stringchannel;
private Stringappplt;
private Stringmd5key;
private Stringpackageid;
}
原创粉丝点击