springboot没法扫描到repository的处理

这篇文章主要介绍了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)注解
 
这个是因为最开始的时候项目启动报错没有数据库相关配置
 
然后我删掉了注解里的exclude,开始加上一些数据库配置,比如
 
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
 
 
 
这里的数据库不是我本机的数据库,但是日志一直是报错连接的是连接我的本地数据库失败
 
报错信息里查了一下DataSourceConfiguration这个类,猜测是配置的数据库连接失败之后开始连接localhost的数据库
 
然后加上了hikari的一些配置就能正常启动,连接我配置的数据库,查询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
 
 
 
定位过程真的是好心累!
【声明】:茂名站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章