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,开始加上一些数据库配置,比如
1
2
3
4
|
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都正常了
1
2
3
4
5
6
7
8
9
|
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 |
定位过程真的是好心累!
补充:今天安装spring的时候遇到一些缺少repository的问题
在安装spring的时候会对其依赖的一些库的进行一些链接检查,导致会报一些缺少repository的问题
1
2
3
4
5
6
|
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上找到了对应的问题和解决方案:地址
解决方法:
Go to Help → Install new software → Here uncheck “Contact all update sites during install to find required software”
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://my.oschina.net/chaoshu/blog/2874277