减少重复代码的书写--Lombok

本文版权归 远方的风lyh和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作。

在开发中,比如我们要写一个modol 实体类 要编写 get、set 这些获取和填值的方法,这样写也没错,但重复代码,不是很优雅!

今天发现了一个可以降低我们编码量的方法 使用 lombok 插件(可以maven配置   也可以idea、eclipse插件安装)

这里只说明maven配置方式

使用说明 

  pom 引入 lombok

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

比如我们写一个实体类 加入标签即可 省去 set 、get方法的编写

/**
* 购物车 实体
* @author xxx
*/
@Getter
@Setter
public class Cart implements Serializable {
/** 商户号 */
private String merchantId;
/** 餐桌号 */
private String tableId; private String merchantName;
/**购物车详情 */
private List<UserOrderDetail> userOrderDetailList;
}

 上面代码中@Getter@Setter, 会默认生成一个无参构造。和对应的get (*注意 布尔值 为 is方法)和 set方法 , 该注解可以使用在类上也可以使用在 属性上

lombok 插件除了上面的 注解 还提供其他注解:

@Data :该注解使用在类上,该注解会提供getter、setter、equals、canEqual、hashCode、toString方法。

@NonNull 该注解使用在属性上,该注解用于非空字段检查,当放在setter方法的字段上,若字段为空,则抛出NullPointerException。 该注解会默认是生成一个无参构造。

Lombok提供的注解

  • @Setter
  • @Getter
  • @Data
  • @NonNull
  • @Log
  • @AllArgsConstructor
  • @NoArgsConstructor
  • @EqualsAndHashCode
  • @Cleanup
  • @ToString
  • @RequiredArgsConstructor
  • @Value
  • @SneakyThrows
  • @Synchronized
上一篇:Grunt 自动化部署之css、image、javascript、html压缩Gruntfile.js配置


下一篇:POJ 3041 Asteroids(二分图 && 匈牙利算法 && 最小点覆盖)