springcloud中一些註解解釋
@Data
自動增加包括get/set方法,tostring,equal,hashcode。
@Entity
對實體註釋,任何hibernate對映對想都要有這個註釋,指明這是一個實體bean。
@Table
宣告此物件對映到資料庫的資料表,通過他可以為實體指定表,目錄和schema的名字,該註釋不是必須的,如果沒有則系統使用預設值(實體的短類名)。
@Column
宣告該屬性與資料庫欄位的對映關係。
@ApiOperation(value = “介面說明”, httpMethod = “介面請求方式”, response = “介面返回引數型別”, notes = “介面釋出說明”;其他引數可參考原始碼;
@ApiParam(required = “是否必須引數”, name = “引數名稱”, value = “引數具體描述”
實際專案中非常需要寫文件,提高Java服務端和Web前端以及移動端的對接效率。
Swagger是當前最好用的Restful API文件生成的開源專案,通過swagger-spring專案
實現了與SpingMVC框架的無縫整合功能,方便生成spring restful風格的介面文件,
同時swagger-ui還可以測試spring restful風格的介面功能。
@NoArgsConstructor : 生成一個無引數的構造方法,這個annotation在與其他的annotation配合起來使用的時候更加能凸顯出他的重要性,例如在使用hibernate這種框架的時候,如果有一個有引數的構造方法的時候,NoArgsConstructor會展示出他的作用。
生成無參構造方法
@AllArgsContructor: 會生成一個包含所有變數,同時如果變數使用了NotNull annotation , 會進行是否為空的校驗, 我們來看一下官方給出的一個例子:
import lombok.AccessLevel; import lombok.RequiredArgsConstructor; import lombok.AllArgsConstructor; import lombok.NonNull; @RequiredArgsConstructor(staticName = "of") @AllArgsConstructor(access = AccessLevel.PROTECTED) public class ConstructorExample<T> { private int x, y; @NonNull private T description; @NoArgsConstructor public static class NoArgsExample { @NonNull private String field; } } |
用java翻譯一下就是這個意思:
public class ConstructorExample<T> { private int x, y; @NonNull private T description; private ConstructorExample(T description) { if (description == null) throw new NullPointerException("description"); this.description = description; } public static <T> ConstructorExample<T> of(T description) { return new ConstructorExample<T>(description); } @java.beans.ConstructorProperties({"x", "y", "description"}) protected ConstructorExample(int x, int y, T description) { if (description == null) throw new NullPointerException("description"); this.x = x; this.y = y; this.description = description; } public static class NoArgsExample { @NonNull private String field; public NoArgsExample() { } } } |
@EnableSwagger2
加了這個註解就可以在這個頁面裡面看見響應類下面的響應介面。
swagger的出現就是為了方便進行測試後臺的restful形式的介面,實現動態的更新,當我們在後臺的介面修改了後,swagger可以實現自動的更新,而不需要認為的維護這個介面進行測試。
如需詳細瞭解swagger可以檢視下面兩個連結:
http://www.cnblogs.com/h9527/p/5506956.html
@EnableCaching
開啟快取,完成一些簡單的快取功能。
@WebFilter:過濾器
@Componet:定義spring管理bean
@EnableScheduling:啟用定時任務
@Configuration
@Configuration標註在類上,相當於把該類作為spring的xml配置檔案中的<beans>,作用為:配置spring容器(應用上下文)
@Repository用於標註資料訪問元件,即DAO元件;它可以標記在任何的類上,用來表明該類是用來執行與資料庫相關的操作(即dao物件),並支援自動處理資料庫操作產生的異常
@Component是通用註解,其他三個註解是這個註解的拓展,並且具有了特定的功能
@Repository註解在持久層中,具有將資料庫操作丟擲的原生異常翻譯轉化為spring的持久層異常的功能。
@Controller層是spring-mvc的註解,具有將請求進行轉發,重定向的功能。
@Service層是業務邏輯層註解,這個註解只是標註該類處於業務邏輯層。
關於這三個註解的更多解釋,可檢視: