zoukankan      html  css  js  c++  java
  • 来自lombok的注解(解决idea中的找不到get,set方法,找不到log的问题)

      今天看代码,发现idea报错,仔细一看调用的get,set方法bean中都没有,但是运行起来却没有问题,这个让我很疑惑。后来发现在类上有一个以前没见过的注解@Data,大概就是因为有他的原因。这个注解来自于lombok。

      我们使用lombok的注解时,例如使用@Data,我们不需要再代码中再显示的写get,set方法等,当我们使用的时候可以直接使用注解给我们生成的get,set方法,但是此时idea是不知道这个注解的作用的,会误报没有这个方法,所以你会看到idea疯了一样的到处报错。为了解决这个问题,我们需要在idea中安装插件lombok plugin(直接在idea的prefrences->plugin里搜索就可以找到)。安装完重启idea问题就解决了。

    下面我们来看一下lombok中都有哪些好用的注解

      @NonNull : 注解在参数上, 如果该类参数为 null , 就会报出异常,  throw new NullPointException(参数名)

      @Cleanup : 注释在引用变量前, 自动回收资源 默认调用 close() 方法

      @Getter/@Setter : 注解在类上, 为类提供读写属性

      @Getter(lazy=true) :实际使用到的时候生成

      @ToString : 注解在类上, 为类提供 toString() 方法

      @EqualsAndHashCode : 注解在类上, 为类提供 equals() 和 hashCode() 方法

      @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor : 注解在类上, 为类提供无参,有指定必须参数, 全参构造函数

      @Data : 注解在类上, 为类提供读写属性, 此外还提供了 equals()、hashCode()、toString() 方法

      @Value :@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。

      @Builder : 注解在类上, 为类提供一个内部的 Builder

      @Synchronized : 注解在方法上, 为方法提供同步锁

      @Log4j : 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象

      @Slf4j : 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象

  • 相关阅读:
    jchdl
    jchdl
    UVa 10256 (判断两个凸包相离) The Great Divide
    UVa 11168 (凸包+点到直线距离) Airport
    LA 2572 (求可见圆盘的数量) Kanazawa
    UVa 10652 (简单凸包) Board Wrapping
    UVa 12304 (6个二维几何问题合集) 2D Geometry 110 in 1!
    UVa 10674 (求两圆公切线) Tangents
    UVa 11796 Dog Distance
    LA 3263 (平面图的欧拉定理) That Nice Euler Circuit
  • 原文地址:https://www.cnblogs.com/softzrp/p/10369972.html
Copyright © 2011-2022 走看看