最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot應(yīng)用中@EntityScan和@EnableJpaRepositories的使用詳解

 更新時間:2025年08月25日 14:35:02   作者:安迪源文  
在Spring Boot中,若Entity和Repository不在主包內(nèi),需通過@EntityScan和@EnableJpaRepositories指定掃描路徑,注意basePackages需完整覆蓋,避免重復(fù)注冊或Bean缺失錯誤

Springboot應(yīng)用開發(fā)中使用JPA時,通常在主應(yīng)用程序所在包或者其子包的某個位置定義我們的EntityRepository,這樣基于Springboot的自動配置,無需額外配置,我們定義的EntityRepository即可被發(fā)現(xiàn)和使用。但有時候我們需要定義EntityRepository不在應(yīng)用程序所在包及其子包,那么這時候就需要使用@EntityScan@EnableJpaRepositories了。

上面提到的EntityRepository指的是通過類似下面的方式定義的EntityRepository :

@Entity
@Table(name = "grade")
public class Grade {
   // 省略具體內(nèi)容
}
@Repository
public interface GradeRepository extends JpaRepository<Grade, Long>, JpaSpecificationExecutor<Grade> {
   // 省略具體內(nèi)容
}

@EntityScan

@EntityScan用來掃描和發(fā)現(xiàn)指定包及其子包中的Entity定義。其用法如下:

@EntityScan(basePackages = {"com.department.entities","come.employee.entities"})

如果多處使用@EntityScan,它們的basePackages集合能覆蓋所有被Repository使用的Entity即可,集合有交集也沒有關(guān)系。

但是如果不能覆蓋被Repository使用的Entity,應(yīng)用程序啟動是會出錯,比如:

Not a managed type: com.customer.entities.Customer

@EnableJpaRepositories

@EnableJpaRepositories用來掃描和發(fā)現(xiàn)指定包及其子包中的Repository定義。

其用法如下:

@EnableJpaRepositories(basePackages = {"com.department.repositories","come.employee.repositories"})

如果多處使用@EnableJpaRepositories,它們的basePackages集合不能有交集,并且要能覆蓋所有需要的Repository定義。

如果有交集,相應(yīng)的Repository會被嘗試反復(fù)注冊,從而遇到如下錯誤:

The bean ‘OrderRepository’, defined in xxx, could not be registered. A bean with that name has already been defined in xxx and overriding is disabled.

如果不能覆蓋所有需要的Repository定義,會遇到啟動錯誤:

Parameter 0 of method setCustomerRepository in com.service.CustomerService required a bean of type ‘come.repo.OrderRepository’ that could not be found.

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談Java響應(yīng)式系統(tǒng)

    淺談Java響應(yīng)式系統(tǒng)

    第一次聽到reactive這個詞還是在幾年前,偶然了解到了Rxjava這個項目,仿佛為我打開了一扇新的大門,Rxjava是ReactiveX的java實現(xiàn),ReactiveX家族除了Rxjava還有RxJS, Rx.NET,RxScala等等。
    2021-06-06
  • Java界面編程實現(xiàn)界面跳轉(zhuǎn)

    Java界面編程實現(xiàn)界面跳轉(zhuǎn)

    這篇文章主要為大家詳細(xì)介紹了Java界面編程實現(xiàn)界面跳轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • SpringBoot使用thymeleaf模板過程解析

    SpringBoot使用thymeleaf模板過程解析

    這篇文章主要介紹了SpringBoot使用thymeleaf模板過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • java實現(xiàn)微信支付結(jié)果通知

    java實現(xiàn)微信支付結(jié)果通知

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)微信支付結(jié)果通知,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 聊聊java 過濾器、監(jiān)聽器、攔截器的區(qū)別(終結(jié)篇)

    聊聊java 過濾器、監(jiān)聽器、攔截器的區(qū)別(終結(jié)篇)

    這篇文章主要介紹了聊聊java 過濾器、監(jiān)聽器、攔截器的區(qū)別(終結(jié)篇),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • MyEclipse打開文件跳轉(zhuǎn)到notepad打開問題及解決方案

    MyEclipse打開文件跳轉(zhuǎn)到notepad打開問題及解決方案

    windows系統(tǒng)打開README.md文件,每次都需要右鍵選擇notepad打開,感覺很麻煩,然后就把README.md文件打開方式默認(rèn)選擇了notepad,這樣每次雙擊就能打開,感覺很方便,這篇文章主要介紹了MyEclipse打開文件跳轉(zhuǎn)到notepad打開問題,需要的朋友可以參考下
    2024-03-03
  • 詳解Java ES多節(jié)點任務(wù)的高效分發(fā)與收集實現(xiàn)

    詳解Java ES多節(jié)點任務(wù)的高效分發(fā)與收集實現(xiàn)

    ElasticSearch 是一個高可用開源全文檢索和分析組件。提供存儲服務(wù),搜索服務(wù),大數(shù)據(jù)準(zhǔn)實時分析等。一般用于提供一些提供復(fù)雜搜索的應(yīng)用
    2021-06-06
  • Java的JSON處理器fastjson使用方法詳解

    Java的JSON處理器fastjson使用方法詳解

    下面小編就為大家?guī)硪黄狫ava的JSON處理器fastjson使用方法詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • Java虛擬機(jī)JVM性能優(yōu)化(一):JVM知識總結(jié)

    Java虛擬機(jī)JVM性能優(yōu)化(一):JVM知識總結(jié)

    這篇文章主要介紹了Java虛擬機(jī)JVM性能優(yōu)化(一):JVM知識總結(jié),本文是系列文章的第一篇,后續(xù)篇章請繼續(xù)關(guān)注腳本之家,需要的朋友可以參考下
    2014-09-09
  • SpringBoot整合SpringCache緩存的實現(xiàn)示例

    SpringBoot整合SpringCache緩存的實現(xiàn)示例

    本文主要使用springcache緩存管理技術(shù)高效處理緩存,支持本地緩存,redis等,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-07-07

最新評論

北京市| 台南县| 乐业县| 庆云县| 呼伦贝尔市| 夏邑县| 赞皇县| 大同县| 焉耆| 红安县| 察雅县| 通榆县| 黎城县| 仪陇县| 特克斯县| 玉环县| 靖宇县| 湄潭县| 临安市| 天柱县| 太仓市| 南宁市| 新民市| 镇远县| 永福县| 浏阳市| 西和县| 临漳县| 黄大仙区| 永定县| 晋宁县| 龙海市| 汨罗市| 鞍山市| 陕西省| 巢湖市| 青岛市| 抚州市| 渭源县| 苍溪县| 长沙市|