springboot 沒法掃描到repository的解決
sprint boot2.0啟動的時候報錯!
A component required a bean of type ’XXX’ that could not be found.
就是沒有掃描到我的repository包里的代碼
我先用@ComponentScan注解加上類所在的包名,沒有報錯,可以正常啟動
但是坑爹的是@RestController注解下的Controller層的代碼沒有掃描到
就是說http://127.0.0.1:8080可以正常訪問,但是Controller層配置的@RequestMapping都匹配不到
折騰了好久好久,比如@ComponentScan在加上Controller層的包名還是不行(導致repository包掃描不到),使用包名.*模糊匹配也不行,好坑爹,說好的比spring mvc配置要簡單的呢
最后我盯上了@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)注解
這個是因為最開始的時候項目啟動報錯沒有數(shù)據(jù)庫相關(guān)配置
然后我刪掉了注解里的exclude,開始加上一些數(shù)據(jù)庫配置,比如
spring.datasource.url=jdbc:mysql://xxx.x.x.x/favorites?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&useSSL=truespring.datasource.username=rootspring.datasource.password=rootspring.datasource.driver-class-name=com.mysql.jdbc.Driver
這里的數(shù)據(jù)庫不是我本機的數(shù)據(jù)庫,但是日志一直是報錯連接的是連接我的本地數(shù)據(jù)庫失敗
報錯信息里查了一下DataSourceConfiguration這個類,猜測是配置的數(shù)據(jù)庫連接失敗之后開始連接localhost的數(shù)據(jù)庫
然后加上了hikari的一些配置就能正常啟動,連接我配置的數(shù)據(jù)庫,查詢sql都正常了
spring.datasource.type=com.zaxxer.hikari.HikariDataSourcespring.datasource.hikari.minimum-idle=5spring.datasource.hikari.maximum-pool-size=15spring.datasource.hikari.auto-commit=truespring.datasource.hikari.idle-timeout=30000spring.datasource.hikari.pool-name=DatebookHikariCPspring.datasource.hikari.max-lifetime=1800000spring.datasource.hikari.connection-timeout=30000spring.datasource.hikari.connection-test-query=SELECT 1
定位過程真的是好心累!
補充:今天安裝spring的時候遇到一些缺少repository的問題
在安裝spring的時候會對其依賴的一些庫的進行一些鏈接檢查,導致會報一些缺少repository的問題
No repository found containing: osgi.bundle,oracle.eclipse.tools.rest.lib,16.4.0.201705251324No repository found containing: osgi.bundle,org.eclipse.cft.server.core,1.2.3.v201709130027No repository found containing: osgi.bundle,org.eclipse.cft.server.rse,1.0.1.v201709130027No repository found containing: osgi.bundle,org.eclipse.cft.server.standalone.core,1.0.4.v201709130027No repository found containing: osgi.bundle,org.eclipse.cft.server.standalone.ui,1.0.4.v201709130027No repository found containing: osgi.bundle,org.eclipse.cft.server.ui,1.0.110.v201709130027
stackvoerflow上找到了對應的問題和解決方案:地址
解決方法:Go to Help → Install new software → Here uncheck “Contact all update sites during install to find required software”
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. Struts2獲取參數(shù)的三種方法總結(jié)2. JSP中Servlet的Request與Response的用法與區(qū)別3. IntelliJ IDEA刪除類的方法步驟4. Xml簡介_動力節(jié)點Java學院整理5. vue cli4下環(huán)境變量和模式示例詳解6. Android 實現(xiàn)徹底退出自己APP 并殺掉所有相關(guān)的進程7. springboot+vue實現(xiàn)websocket配置過程解析8. Django視圖類型總結(jié)9. Ajax引擎 ajax請求步驟詳細代碼10. 關(guān)于JavaScript對象類型之Array及Object
