1、首先要将IDE工具安装lombok的插件,才会对编译不出问题;
1-1、如果是eclipse的话,需要在官网下载jar文件,放到eclipse根目录下,eclipse.ini的最后追加
-Xbootclasspath/a:lombok.jar
-javaagent:lombok.jar
1-2、如果是IDEA的话,需要在Setting > Plugins > Browse repositories... 下载lombok插件。
2、在pom.xml中追加
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
<scope>provided</scope>
</dependency>
3、然后所有实体类、DTO中的Getter、Setter、ToString方法(全属性)、HashCode和equals方法(全属性)都不再需要,用@Getter、@Setter、@ToString、@EqualsAndHashCode代替。
当然,这些注解太多了, 可以直接用 @Data 注解来直接替换,就可以将上边的所有注解功能实现;
4、
构造函数,注解在类上
@AllArgsConstructor 会生成一个包含所有变量,同时如果变量使用了NotNull annotation , 会进行是否为空的校验,
全部参数的构造函数的自动生成,该注解的作用域也是只有在实体类上,参数的顺序与属性定义的顺序一致。
@NoArgsConstructor 无参构造函数
@RequiredArgsConstructor 会生成一个包含常量(final),和标识了@NotNull的变量 的构造方法。
5、需要日志的地方,可以根据日志依赖,在类声明的上方追加 @Log4j、@Log4j2或 @Slf4j,然后直接在方法中直接使用log对象。
6、
@Builder : 注解在类上, 为类提供一个内部的 Builder
@SneakThrows :
@Synchronized : 注解在方法上, 为方法提供同步锁
7、Accessors翻译是存取器。通过该注解可以控制getter和setter方法的形式。
@Accessors(fluent = true)
使用fluent属性,getter和setter方法的方法名都是属性名,且setter方法返回当前对象
@Data
@Accessors(fluent = true)
class User {
private Integer id;
private String name;
// 生成的getter和setter方法如下,方法体略
public Integer id(){}
public User id(Integer id){}
public String name(){}
public User name(String name){}
}
@Accessors(chain = true)
使用chain属性,setter方法返回当前对象
@Data
@Accessors(chain = true)
class User {
private Integer id;
private String name;
// 生成的setter方法如下,方法体略
public User setId(Integer id){}
public User setName(String name){}
}
@Accessors(prefix = “f”)
使用prefix属性,getter和setter方法会忽视属性名的指定前缀(遵守驼峰命名)
@Data
@Accessors(prefix = "f")
class User {
private Integer fId;
private String fName;
// 生成的getter和setter方法如下,方法体略
public Integer id(){}
public void id(Integer id){}
public String name(){}
public void name(String name){}
}
---------------------
作者:yjph83
来源:CSDN
原文:https://blog.csdn.net/yjph83/article/details/95312594
版权声明:本文为博主原创文章,转载请附上博文链接!
相关推荐
在开发过程中,我们常常会遇到使用Eclipse导入Maven项目时出现的各种报错情况。本文旨在系统地介绍如何解决这些常见问题,包括但不限于配置环境、设置JDK版本、配置Maven库以及解决各种依赖问题等。 #### 一、准备...
在 Java 项目中使用 Lombok 可以显著提高开发效率,但同时也会遇到一些问题。以下是一些常见问题的详细说明: 1. **Maven 依赖引入**: 在 Maven 项目中使用 Lombok,首先需要在 `pom.xml` 文件中添加 Lombok 的...
maven-lombok-plugin-0.9.3.1-sources.jar
maven-lombok-plugin-0.9.3.1.jar
Eclipse是一个功能强大且广泛使用的集成开发环境(IDE),maven是一个流行的项目管理和构建工具,lombok是一个简洁高效的Java注解库。本文将详细介绍如何在Eclipse maven项目中安装和配置lombok,以提高开发效率和...
这个文件很可能是Lombok的详细使用指南,包含了如何配置项目以使用Lombok,以及各个注解的详细解释和示例代码。通过阅读这份说明,开发者可以更好地理解Lombok的功能,避免误用,提高代码质量。 4. **集成与配置**...
Maven是项目管理和构建的工具,Dagger 2是Google提供的一个依赖注入框架,而Lombok则是一个可以简化Java代码的库,它通过注解处理器自动处理getter、setter等常见操作。在这个名为“maven-dagger2-lombok-example”...
若包含,则为maven项目,否则为非maven项目 6.数据库:MySql 5.7版本; 7.lombok插件 注:必须安装,否则会报错 技术栈 1. 后端:Spring SpringMVC MyBatis 2. 前端:Layui 使用说明 1. 使用Navicat或者其它...
安装和使用Lombok需要在项目中引入Lombok的jar文件。在Maven或Gradle项目中,可以通过添加依赖来实现。对于Maven,可以在pom.xml文件中添加如下依赖: ```xml <groupId>org.projectlombok <artifactId>lombok ...
为了在项目中使用Lombok,需要将`lombok.jar`加入到构建路径中。对于Maven或Gradle用户,可以在pom.xml或build.gradle文件中添加对应的依赖。同时,IDE如IntelliJ IDEA和Eclipse需要安装Lombok插件,以实现实时代码...
使用Lombok时,需要将其引入项目并配置IDE插件,这样编译器就能识别并处理Lombok注解。对于Maven或Gradle项目,可以在pom.xml或build.gradle文件中添加依赖。同时,安装对应的IDE插件(如IntelliJ IDEA或Eclipse)以...
Java工程中的Maven仓库是一个至关重要的组成部分,它管理着项目依赖,使得开发人员可以方便地引入和更新外部库。Maven是Java世界中广泛使用的构建工具,它通过一个中央仓库来存储各种开源库的JAR文件,使得开发过程...
为了使用Lombok,你需要在IDE(如IntelliJ IDEA或Eclipse)中安装Lombok插件,并在项目中引入lombok.jar。通常,还需要在构建工具配置(如Maven或Gradle)中添加Lombok依赖,以确保编译器能够正确处理Lombok注解。 ...
Lombok是一款Java库,它通过注解处理器在编译时自动插入代码,简化了Java对象的创建和维护,从而减少了冗余的getter、setter、equals、hashCode和toString方法的编写。Lombok的主要目标是使Java代码更加简洁,提高...
同时,为了在构建工具如Maven或Gradle中使用Lombok,你需要将其添加到项目的依赖中。 使用Lombok可以提高开发效率,减少代码量,使得代码更易于阅读和维护。但值得注意的是,虽然Lombok能简化代码,但过度依赖注解...
要在项目中使用Lombok,你需要在构建工具(如Maven或Gradle)的配置文件中添加依赖。对于Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.projectlombok <artifactId>lombok 最新版本号 ...
为了在项目中使用Lombok,还需要在项目的构建路径中引入`lombok.jar`。这可以通过以下步骤完成: 1. 右键点击你的项目,选择“Build Path” -> “Configure Build Path”。 2. 在“Libraries”选项卡中,点击“Add ...
这是一个基于Java技术栈开发的简易图书管理系统,使用了Maven作为构建工具,JUnit进行单元测试,Lombok简化对象封装,MyBatis作为持久层框架,以及MySQL作为后端数据库。以下将详细介绍这些技术及其在系统中的应用。...