欢迎来到代码驿站!

PostgreSQL

当前位置:首页 > 数据库 > PostgreSQL

springboot 没法扫描到repository的解决

时间:2021-05-12 09:10:55|栏目:PostgreSQL|点击:

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

定位过程真的是好心累!

补充:今天安装spring的时候遇到一些缺少repository的问题

在安装spring的时候会对其依赖的一些库的进行一些链接检查,导致会报一些缺少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上找到了对应的问题和解决方案:地址

解决方法:

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

上一篇:postgresql 循环函数的简单实现操作

栏    目:PostgreSQL

下一篇:PostgreSQL 查看数据库,索引,表,表空间大小的示例代码

本文标题:springboot 没法扫描到repository的解决

本文地址:http://www.codeinn.net/misctech/119839.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有