如何在Spring Boot应用程序中使用lombok.Data注释?
我在我的POJO类中使用了@Data
注释,但不会生成获取者和设置者。 IDE,我现在用的就是STS(春季工具套件)如何在Spring Boot应用程序中使用lombok.Data注释?
//User POJO Class
import lombok.Data;
@Data
public class UserVo {
private String name;
private String userName;
private String email;
private String mobile;
private String password;
}
<!-- pom.xml -->
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.aptitest</groupId>
<artifactId>wt-online-test-backend</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>wt-online-test-backend</name>
<description>Online Aptitude Test</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.9.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.6</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.restdocs</groupId>
<artifactId>spring-restdocs-mockmvc</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
这段代码做什么来回答这个问题?请包括更多的细节,谢谢。 –
我想,你必须首先分析班级比较(lombok和data jpa),然后在spring-data-jpa dependency中使用
首先,你并不需要添加@Setter和@Getter。 @Data包括这两个。其次,您需要将Lombok插件添加到您的IDE中(搜索STS的Lombok插件或为STS启用Annotation处理器)。当你这样做的时候,你真的看不到你的IDE中产生的getter和setter。这将有助于您解决IDE中的编译时错误。就这样。
用Springboot + Lombok研究这个示例项目。这个类使用@Data: https://github.com/raulvillalbamedina/exampleApiHateoas/blob/master/src/main/java/com/rvillalba/exampleApiHateoas/entity/Example.java
如果您的IDE有错误,你需要一个插件: “Eclipse和变种运行lombok.jar作为一个Java应用程序(即双击它,通常情况下)安装另外补充龙目岛。 jar支持您的项目支持的变体:Springsource Tool Suite,JBoss Developer Studio IDEA IntelliJ由Michael Plushnikov开发的插件增加了对大多数功能的支持。
Spring Tool Suite IDE基于eclipse。
来自官方的龙目岛文档: https://projectlombok.org/download.html
Eclipse和变种 - 运行lombok.jar作为一个Java应用程序(即双击它,通常情况下)进行安装。还要将lombok.jar添加到您的项目中。支持的变种:SpringSource工具套件时,JBoss Developer Studio中
如果还是不行,这个堆栈溢出的讨论可以帮助你:
这里的问题可能与你的能力检查getter/setter是否实际生成。
-
如果您的IDE告诉您未生成getters/setters - IDE可能是错误的。它可能不会选择getters/setters生成;对于你的IDE - 确保你有相关的插件。当你提到STS时,这很可能是你的问题。 尝试的有关你的情况下链接之一:
使用IDE无关的Maven构建,以确保龙目岛产生什么是应该。
您是否正在使用ide?如果是这样,哪一个? – Jeff