详解Idea 2019.2 安装lombok插件失效问题解决

作者:蓝月流星 时间:2023-05-01 09:22:59 

一、lombok简介

lombok 提供了使用注解的形式帮助简化消除java代码。在编写Java代码时,通过使用对应的注解,可以简化开发,同时,在编译源码的时候,lombok又自动生成对应的代码。所以,使用lombok插件不会影响程序的运行效率。

二、lombok常用注解

@Data :注解在类上;包含了@ToString,@EqualsAndHashCode,@Getter / @Setter和@RequiredArgsConstructor的功能,提供类所有属性的 getter 和 setter 方法,此外还提供了equals、canEqual、hashCode、toString 方法。

@Setter:注解在属性上;为属性提供 setter 方法。

@Getter:注解在属性上;为属性提供 getter 方法。

默认生成的方法是public的,如果要修改方法修饰符可以设置AccessLevel的值,例如:@Getter(access = AccessLevel.PROTECTED)。

@ToString:注解在类上;生成toString()方法,默认情况下,它会按顺序(以逗号分隔)打印你的类名称以及每个字段。可以这样设置不包含哪些字段@ToString(exclude = "id") / @ToString(exclude = {"id","name"})。

如果继承的有父类的话,可以设置callSuper 让其调用父类的toString()方法,例如:@ToString(callSuper = true)。

@EqualsAndHashCode:注解在类上;生成hashCode()和equals()方法,默认情况下,它将使用所有非静态,非transient字段。但可以通过在可选的exclude参数中来排除更多字段。或者,通过在parameter参数中命名它们来准确指定希望使用哪些字段。

@NonNull: 注解在属性上;标识属性是不能为空,为空则抛出异常。

@Slf4j :注解在类上;根据用户实际使用的日志框架生成log日志对象。

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

@NoArgsConstructor:注解在类上;为类提供一个无参的构造方法。当类中有final字段没有被初始化时,编译器会报错,此时可用@NoArgsConstructor(force = true),然后就会为没有初始化的final字段设置默认值 0 / false / null。对于具有约束的字段(例如@NonNull字段),不会生成检查或分配,因此请注意,正确初始化这些字段之前,这些约束无效。

@AllArgsConstructor:注解在类上;为类提供一个全参的构造方法。

@RequiredArgsConstructor:注解在类上;会生成构造方法(可能带参数也可能不带参数),如果带参数,这参数只能是以final修饰的未经初始化的字段,或者是以@NonNull注解的未经初始化的字段@RequiredArgsConstructor(staticName = "of")会生成一个of()的静态方法,并把构造方法设置为私有的。

二、安装和配置lombok

1、引入依赖包

(1)maven引入依赖:


<dependency>  
 <groupId>org.projectlombok</groupId>  
 <artifactId>lombok</artifactId>
</dependency>

(2)gradle引入依赖:


compile group: 'org.projectlombok', name: 'lombok', version: '1.16.18'

(3)将lombok.jar直接放到源码文件夹下。

2、安装插件

(1)按键 Alt+Ctrl+S,打开Settings对话框,安装lombok插件。

详解Idea 2019.2 安装lombok插件失效问题解决

3、设置Enable annotation processing

详解Idea 2019.2 安装lombok插件失效问题解决

idea升级到最新的2019.2版本后,不必向网上很多人说的那样解决不兼容问题,如上配置即可正常使用。

来源:https://blog.csdn.net/bluemoonstars1977/article/details/98073747

标签:Idea2019,安装,lombok插件
0
投稿

猜你喜欢

  • Spring activiti如何实现指定任务处理者

    2023-04-08 05:53:16
  • AQS同步组件Semaphore信号量案例剖析

    2023-11-27 14:27:04
  • C#无损压缩图片

    2022-05-26 22:54:39
  • 解决 INSTALL FAILED CONFLICTING PROVIDER的问题方法

    2023-01-31 11:42:49
  • 关于weblogic部署Java项目的包冲突问题的解决

    2023-07-19 19:02:59
  • c语言实现可自定义的游戏地图

    2021-10-25 14:38:34
  • Java深入学习图形用户界面GUI之事件处理

    2023-11-29 14:14:57
  • C++ 让函数返回数组的方法

    2022-12-04 06:49:33
  • 专属于程序员的浪漫-Java输出动态闪图iloveyou

    2023-12-01 16:00:57
  • 详解Java回环屏障CyclicBarrier

    2022-08-30 15:02:09
  • Android BottomSheet实现可拉伸控件

    2023-07-05 15:07:51
  • Android高手进阶教程(二十六)之---Android超仿Path菜单的功能实现!

    2022-05-13 01:16:58
  • JAVA设置手动提交事务,回滚事务,提交事务的操作

    2022-07-20 08:07:40
  • WebSocket实现Web聊天室功能

    2023-11-27 06:10:52
  • 详解Android 全局弹出对话框SYSTEM_ALERT_WINDOW权限

    2023-06-28 04:07:44
  • C++实现LeetCode(159.最多有两个不同字符的最长子串)

    2023-06-20 22:39:46
  • Spring Security认证的完整流程记录

    2021-12-15 13:04:03
  • Maven学习----Maven安装与环境变量配置教程

    2021-12-04 08:20:25
  • c#动态改变webservice的url访问地址

    2021-10-08 20:13:03
  • Java中List遍历删除元素remove()的方法

    2022-07-12 12:27:10
  • asp之家 软件编程 m.aspxhome.com