解決SpringBoot掃描不到公共類的實(shí)體問題
SpringBoot掃描不到公共類的實(shí)體
我的項(xiàng)目結(jié)構(gòu)是
parent
ademo
bdemo
parent是一個(gè)大項(xiàng)目,項(xiàng)目里面有web、service和entity三個(gè)子項(xiàng)目 ademo 依賴于bdemo里面的實(shí)體。
aProject項(xiàng)目的包結(jié)構(gòu)是com.test.ademo
bProject項(xiàng)目的包結(jié)構(gòu)是com.test.bdemo
以下的問題是我沒有忘記標(biāo)注@Component、@Service等容器注解
在ademo項(xiàng)目里面使用@Autowired的時(shí)候有異常說是可能會(huì)Autowired失敗,但是編譯沒有問題,我就直接run項(xiàng)目,執(zhí)行結(jié)果是報(bào)空指針異常,說明對(duì)象確實(shí)自動(dòng)導(dǎo)入失敗了。經(jīng)過很多查閱后發(fā)現(xiàn)只需要將兩個(gè)項(xiàng)目的包名改成一樣的就可以,或者使用@ComponentScan在啟動(dòng)類上面加入ademo和bdemo的包名即可
1、將ademo和bdemo的包名改成com.test.project
2、在ademo的啟動(dòng)類上面加上@ComponentScan({“com.example.ademo”,“com.example.bdemo”})
在執(zhí)行第二點(diǎn)的時(shí)候注意就是如果在啟動(dòng)類上面標(biāo)注了@ComponentScan就會(huì)使會(huì)使@SpringBootApplication注解中包含的@ComponentScan注解(即默認(rèn)的掃描包的位置)失效
具體原因:
因?yàn)閱?dòng)類上面的@SpringBootApplication里面默認(rèn)包含了一個(gè)@ComponentScan注解,這個(gè)注解默認(rèn)情況下是掃描該類所屬包下面的所有類,包含子目錄中的類。
因?yàn)樗芯W(wǎng)上的注解都是上面那樣的所以我就去想著是不是打包的時(shí)候?qū)demo的項(xiàng)目跟ademo可結(jié)合在了一起所以拿不到com.test.ademo包下的文件,但是拿mvn打包后發(fā)現(xiàn)并不是。哈哈
下面是將ademo打包了的結(jié)構(gòu)
代碼證明如果加上
@ComponentScan({“com.example.ademo”,“com.example.bdemo”})
是可以掃描到UserService類的,如果不加是獲取不到的,應(yīng)該跟SpringBoot底層加載類是相關(guān)的,大家有興趣可以去看一下底層,在底層的我就不再這里講了,自己去看吧。
springboot打包,找不到pojo實(shí)體類
修改spring-boot-maven-plugin組件
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot整合MyBatis四種常用的分頁方式(詳細(xì)總結(jié))
這篇文章詳細(xì)給大家總結(jié)了SpringBoot整合MyBatis四種常用的分頁方式,文中通過代碼示例為大家介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07Java中使用內(nèi)存映射實(shí)現(xiàn)大文件上傳實(shí)例
這篇文章主要介紹了Java中使用內(nèi)存映射實(shí)現(xiàn)大文件上傳實(shí)例,本文對(duì)比測試了FileInputStream 或者FileOutputStream 抑或RandomAccessFile的頻繁讀寫操作,最后總結(jié)出映射到內(nèi)存后進(jìn)行讀寫以提高速度,需要的朋友可以參考下2015-01-01mybatis-config.xml文件中的mappers標(biāo)簽使用
在MyBatis配置中,<mapper>標(biāo)簽關(guān)鍵用于指定SQL?Mapper的XML文件路徑,主要有三種指定方式:resource、url和class,Resource方式從類的根路徑開始,適合放在項(xiàng)目內(nèi)部保障移植性,URL方式指定絕對(duì)路徑,移植性差,適用于外部路徑2024-10-10java使用內(nèi)存數(shù)據(jù)庫ssdb的步驟
這篇文章主要介紹了java使用內(nèi)存數(shù)據(jù)庫ssdb的步驟,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下2020-12-12解讀Spring事務(wù)是如何實(shí)現(xiàn)的
這篇文章主要介紹了Spring事務(wù)是如何實(shí)現(xiàn)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03