关于@Slf4j、@Data的使用,Lombok安装

今天接到一个项目,要求调试。我的idea是没有安装Lombok插件的。所以在看的时候编译器会把没有创建的对象报错提示。
那么就先看看lombok的安装:

lombok安装:

我的idea是2020.1版本的,但是我无法在idea的插件市场找到该插件。所以找到了jar包,我安装的Lombok插件版本为lombok-plugin-0.30-EAP.jar。直接将该文件拖入IDEA即可。等待提示安装,确认,成功,重启IDEA。至此,安装完毕。
插件地址:https://download.csdn.net/download/qq_40366738/12738331

依赖

<dependency>
   <groupId>org.projectlombok</groupId>
   <artifactId>lombok</artifactId>
    <version>1.16.16</version><!--版本号自己选一个就行-->
</dependency>

Lombok注解含义

  1. @Data
    @Data注解在类上,会为类的所有属性自动生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
  2. @Getter/@Setter
    注解在方法或属性上,为相应的属性自动生成Getter/Setter方法。注解于方法上时,为所有属性提供Getter/Setter方法。
  3. @ToString
    类使用@ToString注解,Lombok会生成一个toString()方法,默认情况下,会输出类名、所有属性(会按照属性定义顺序),用逗号来分割。
    通过将includeFieldNames参数设为true,就能明确的输出toString()属性。
  4. @NonNull
    该注解用在属性或构造器上,Lombok会生成一个非空的声明,可用于校验参数,能帮助避免空指针。
  5. @Cleanup
    该注解能帮助我们自动调用close()方法,很大的简化了代码。
  6. @EqualsAndHashCode
    默认情况下,会使用所有非静态(non-static)和非瞬态(non-transient)属性来生成equals和hasCode,也能通过exclude注解来排除一些属性。
  7. @NoArgsConstructor
    无参构造器
  8. @RequiredArgsConstructor
    部分参数构造器
  9. @AllArgsConstructor
    全参构造器
    Lombok没法实现多种参数构造器的重载。
  10. @Slf4j
    可以不用每次都写private final Logger logger = LoggerFactory.getLogger(当前类名.class);

优缺点:

  1. 简化代码,提高效率,使实体类看起来简洁
  2. 不支持多种参数构造器重载、降低代码可读性、团队开发时要求成员都要下载该插件(需要考虑团队成员意见)
posted @ 2020-08-21 23:27  Huathy  阅读(23)  评论(0)    收藏  举报  来源