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 的日志对象

  • 相关阅读:
    Java基本开发环境搭建(适合第一次使用)
    在oracle中通过链接服务器(dblink)访问sql server
    C# 鼠标悬停在datagridview的某单元格,显示悬浮框效果
    经典SQL语句大全
    程序员为何要写技术博客?
    收缩SQL数据库日志
    利用脚本设置本机IP地址
    在SQL Server 2005中连接Oracle,完成查询、插入操作
    Centos 7 下 Corosync + Pacemaker + psc + HA-proxy 实现业务高可用
    Centos 7 下 Corosync + Pacemaker + psc 实现 httpd 服务高可用
  • 原文地址:https://www.cnblogs.com/softzrp/p/10369972.html
Copyright © 2011-2022 走看看