2016-02-13 88 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構建,以確保龍目島產生什麼是應該。

相關問題