簡體   English   中英

@RepositoryRestController和@Repository注釋之間有什么區別?

[英]What is the difference between @RepositoryRestController and the @Repository annotations?

我想知道使用注釋@RepositoryRestController@Repository之間究竟有什么區別,因為我已經嘗試了它們兩個並且我發現完全沒有區別!

我嘗試了以下方法:

@RepositoryRestResource
public interface MovieRepository extends JpaRepository<Movie, Short> { 
} 

@Repository
public interface MovieRepository extends JpaRepository<Movie, Short> { 
}

所以當我嘗試: /兩種方法中的電影時 ,我得到相同的結果。

如果我用@RepositoryRestController我應該使用@RepositoryRestController ,或者我可以使用@RestController ,並且它們之間有什么區別嗎?

@Repository

@Repository是一個@Repository型接口,用於將最初由Domain-Driven Design(Evans,2003)定義的存儲庫定義為“封裝模擬對象集合的存儲,檢索和搜索行為的機制”

此注釋還用作@Component ,允許通過類路徑掃描自動檢測實現類。

@RepositoryRestResource

@RepositoryRestResource告訴Spring Data REST將您的存儲庫公開為REST端點。 檢查文檔的相關部分。


如果要利用Spring Data REST的設置,消息轉換器,異常處理等為特定資源編寫自定義處理程序,可以使用@RepositoryRestController (而不是標准的Spring MVC @Controller@RestController注釋)。 請參閱文檔的相關部分。

它在你的情況下有或沒有注釋的原因是因為如果你將Spring Boot與Spring Data REST一起使用,那么就會激活一個自動配置,它會自動將所有Spring Data接口公開為REST資源。 您可以在此處找到此配置的源代碼,以及有關在參考文檔中自定義它的可能性的更多信息。

@Repository:

Spring @Repository注釋表示該類為crud操作提供機制。

您可以在此處找到更多信息。

@RepositoryRestResource:

此批注為存儲庫提供了RestController功能。 這意味着您可以直接訪問您的存儲庫。 你可以在這里進一步閱讀。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM