2016-02-13 85 views
8

我在我的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> 
+0

您是否正在使用ide?如果是这样,哪一个? – Jeff

回答

0
<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> 
+1

这段代码做什么来回答这个问题?请包括更多的细节,谢谢。 –

+0

我想,你必须首先分析班级比较(lombok和data jpa),然后在spring-data-jpa dependency中使用标签排除这些库 – Reborn

-1

您需要@Setter & @Getter注释添加到类

+0

请多说明一点 – Panther

0

首先,你并不需要添加@Setter和@Getter。 @Data包括这两个。其次,您需要将Lombok插件添加到您的IDE中(搜索STS的Lombok插件或为STS启用Annotation处理器)。当你这样做的时候,你真的看不到你的IDE中产生的getter和setter。这将有助于您解决IDE中的编译时错误。就这样。

-1

用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开发的插件增加了对大多数功能的支持。

0

Spring Tool Suite IDE基于eclipse。

来自官方的龙目岛文档: https://projectlombok.org/download.html

Eclipse和变种 - 运行lombok.jar作为一个Java应用程序(即双击它,通常情况下)进行安装。还要将lombok.jar添加到您的项目中。支持的变种:SpringSource工具套件时,JBoss Developer Studio中

如果还是不行,这个堆栈溢出的讨论可以帮助你:

how to configure lombok in eclipse luna

4

这里的问题可能与你的能力检查getter/setter是否实际生成。

  1. 如果您的IDE告诉您未生成getters/setters - IDE可能是错误的。它可能不会选择getters/setters生成;对于你的IDE - 确保你有相关的插件。当你提到STS时,这很可能是你的问题。 尝试的有关你的情况下链接之一:

  2. 使用IDE无关的Maven构建,以确保龙目岛产生什么是应该。

相关问题