ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java中Lombok如何安装,配置,使用呢?

2022-07-28 09:39:06  阅读:473  来源: 互联网

标签:EqualsAndHashCode java 生成 ToString 注解 Lombok 安装 属性


转自:

http://www.java265.com/JavaCourse/202204/2722.html

下文笔者讲述Lombok插件在IDEA中安装配置及使用方法简介说明,如下所示:

步骤1:Maven项目中引入Lombok

例: 找到相应的版本,在pom文件中放入相应的坐标即可

pom.xml 引入依赖
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<!--Feb 07, 2020-->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.12</version>
    <scope>provided</scope>
</dependency>

步骤2:IDEA 安装插件及设置

 1.安装Lombok插件
    File/Settings/Plugins/Lombok/Install/OK  
 2.勾选 Enable annocation processing 点击 Apply save
    File/Settings/Build,Execution,Deployment/Compiler/Annocation Processors/√ Enable annocation processing

Lombok常用功能简介说明

@Getter/@Setter
注解在属性上,为相应的属性自动生成Getter/Setter方法。
boolean 类型属性生成 isName/setName
其他类型属性生成 getName/setName
可以通过 AccessLevel 设置访问级别(PUBLIC, PROTECTED, PACKAGE, PRIVATE);
如果该注解放在类上,则为所有的非静态属性自动生成Getter/Setter方法

@ToString
注解在类上,自动生成toString()方法,默认输出类名、用逗号分割的所有属性(按照属性定义顺序)。
可以通过 includeFieldNames 设置为 true 显示更详细的字段信息
默认打印非静态的所有字段;
可以在字段前使用 @ToString.Exclude 排除打印;
使用 @ToString(onlyExplicitlyIncluded = true),然后在字段前使用 @ToString.Include 加入打印

@EqualsAndHashCode
注解在类上,自动生成equals(Object other)和hashCode()方法。
默认使用非静态(non-static)和非瞬态(non-transient)的所有字段;
可以在字段前使用 @EqualsAndHashCode.Exclude 排除;
使用 @EqualsAndHashCode(onlyExplicitlyIncluded = true),然后在字段前使用 @EqualsAndHashCode.Include 加入

@NonNull
注解在方法或构造器的参数上,生成非空检查声明。等价于:
if (param == null) 
	throw new NullPointerException("param is marked @NonNull but is null");

@Data
注解在类上,等于 @ToString, @EqualsAndHashCode, @Getter/@Setter 和 @RequiredArgsConstructor, @NonNull 的集合

@Cleanup
注解在资源实例化语句上,通过 try/finally 自动调用 close() 方法回收资源

@NoArgsConstructor
注解在类上,自动生成没有参数的构造函数

@RequiredArgsConstructor
为所有带 @NonNull 注解和以 final 修饰的未经初始化的字段生成带参数的构造函数

@AllArgsConstructor
注解在类上,自动生成所有参数的构造函数

标签:EqualsAndHashCode,java,生成,ToString,注解,Lombok,安装,属性
来源: https://www.cnblogs.com/java265/p/16510555.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有