當(dāng)前位置:首頁 >  站長(zhǎng) >  數(shù)據(jù)庫 >  正文

springboot 沒法掃描到repository的解決

 2021-05-19 16:59  來源: 腳本之家   我來投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過

這篇文章主要介紹了springboot 沒法掃描到repository的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

sprint boot2.0啟動(dòng)的時(shí)候報(bào)錯(cuò)!

A component required a bean of type 'XXX' that could not be found.

就是沒有掃描到我的repository包里的代碼

我先用@ComponentScan注解加上類所在的包名,沒有報(bào)錯(cuò),可以正常啟動(dòng)

但是坑爹的是@RestController注解下的Controller層的代碼沒有掃描到

就是說http://127.0.0.1:8080可以正常訪問,但是Controller層配置的@RequestMapping都匹配不到

折騰了好久好久,比如@ComponentScan在加上Controller層的包名還是不行(導(dǎo)致repository包掃描不到),使用包名.*模糊匹配也不行,好坑爹,說好的比spring mvc配置要簡(jiǎn)單的呢

最后我盯上了@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)注解

這個(gè)是因?yàn)樽铋_始的時(shí)候項(xiàng)目啟動(dòng)報(bào)錯(cuò)沒有數(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=true
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

 

這里的數(shù)據(jù)庫不是我本機(jī)的數(shù)據(jù)庫,但是日志一直是報(bào)錯(cuò)連接的是連接我的本地?cái)?shù)據(jù)庫失敗

報(bào)錯(cuò)信息里查了一下DataSourceConfiguration這個(gè)類,猜測(cè)是配置的數(shù)據(jù)庫連接失敗之后開始連接localhost的數(shù)據(jù)庫

然后加上了hikari的一些配置就能正常啟動(dòng),連接我配置的數(shù)據(jù)庫,查詢sql都正常了

spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.maximum-pool-size=15
spring.datasource.hikari.auto-commit=true
spring.datasource.hikari.idle-timeout=30000
spring.datasource.hikari.pool-name=DatebookHikariCP
spring.datasource.hikari.max-lifetime=1800000
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query=SELECT 1

 

定位過程真的是好心累!

補(bǔ)充:今天安裝spring的時(shí)候遇到一些缺少repository的問題

在安裝spring的時(shí)候會(huì)對(duì)其依賴的一些庫的進(jìn)行一些鏈接檢查,導(dǎo)致會(huì)報(bào)一些缺少repository的問題

No repository found containing: osgi.bundle,oracle.eclipse.tools.rest.lib,16.4.0.201705251324
No repository found containing: osgi.bundle,org.eclipse.cft.server.core,1.2.3.v201709130027
No repository found containing: osgi.bundle,org.eclipse.cft.server.rse,1.0.1.v201709130027
No repository found containing: osgi.bundle,org.eclipse.cft.server.standalone.core,1.0.4.v201709130027
No repository found containing: osgi.bundle,org.eclipse.cft.server.standalone.ui,1.0.4.v201709130027
No repository found containing: osgi.bundle,org.eclipse.cft.server.ui,1.0.110.v201709130027

stackvoerflow上找到了對(duì)應(yīng)的問題和解決方案:地址

解決方法:

Go to Help → Install new software → Here uncheck “Contact all update sites during install to find required software”

文章來源:腳本之家

來源地址:https://www.jb51.net/article/204991.htm

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)文章

熱門排行

信息推薦