Lombok

来源:互联网 发布:怎样退货给淘宝卖家 编辑:程序博客网 时间:2024/05/21 20:28
Lombok —— 通过简单的注解形式来简化臃肿的Java代码
官方Web: https://projectlombok.org/features/index.html
github: https://github.com/rzwitserloot/lombok。


http://www.cnblogs.com/holten/p/5729226.html


@Getter / @Setter
  可以作用在类上和属性上,放在类上,会对所有的非静态(non-static)属性生成Getter/Setter方法; 放在属性上,会对该属性生成Getter/Setter方法。并可以指定Getter/Setter方法的访问级别。
@EqualsAndHashCode
  默认情况下,会使用所有非瞬态(non-transient)和非静态(non-static)字段来生成equals和hascode方法,也可以指定具体使用哪些属性。
@ToString
  生成toString方法,默认情况下,会输出类名、所有属性,属性会按照顺序输出,以逗号分割。
@NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor
  无参构造器、部分参数构造器、全参构造器,当我们需要重载多个构造器的时候,Lombok就无能为力了。
@Data
  @ToString, @EqualsAndHashCode, 所有属性的@Getter, 所有non-final属性的@Setter和@RequiredArgsConstructor的组合,通常情况下,我们使用这个注解就足够了。


注意:
1、boolean型生成getter和setter的问题,如果boolean型property的名称是hello,生成getter和setter的格式是isHello()和getHello(),如果名称是isHello,生成的还是isHello()和getHello(),这个是sun的规范,但是目前很多框架在使用getter和setter时并不是这样的,而是setHello()或者setIsHello(),所以编码时一定要小心。
2、为AS IDE安装lombok plugin,才能使IDE识别生成的function。