spring cloud(spring boot) 项目启动之error:Consider defining a bean of type‘xxx‘无法启动
spring cloud(spring boot) 项目启动之error:Consider defining a bean of type’xxx’无法启动
项目场景
提示:spring cloud的一个服务模块本地启动不成功,原因是无法扫描到repository下的文件
问题描述
Consider defining a bean of type ‘com.xxx.service.geo.repository.AreaGeometryRepository’ in your configuration.
解决方案:
[思路一]:@SpringBootApplication
既然报错是无法扫描到com.xxx.service.geo.repository下的类,那么解决方式肯定先从Application启动类入口,看是否有添加扫描@SpringBootApplication的注解,我的代码处有添加@SpringBootApplication(scanBasePackages = {"com.xxx"}) 按理说应该可以扫描到啊,但是启动失败
[思路二]:@componentscan
1. 在使用@SpringBootApplication中添加了scanBasePackages扫描还没起作用,尝试使用@ComponentScan(basePackages = {""})组件,在其basePackages中填入com.xxx.service.geo.repository,可喜的是可以启动,但是依然报错(正常这一步是可以解决的),bean依然扫描 有问题
[思路三]:@MapperScan
想道是sql下repository包的问题,怀疑是mapper没有扫描到,所以添加mapperScan去,结果,依然不尽如意....但是方向对了
[思路四]:基于思路三到基础上往sql上靠拢,又查询了资料,发现可能是pom中的sql-jpa 依赖的问题,然后在pom中导入如下依赖,启动发现,成功了!!!
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
之前pom中引入的是如下的,但是没起作用,引入思路四下的依赖,成功了.
<dependency>
<artifactId>spring-data-jpa</artifactId>
<groupId>org.springframework.data</groupId>
</dependency>
总结:
正常出现Consider defining a bean of type ,思路一或思路二就可以解决,但是如果没效果(和我一样),可能不是扫描的问题,是依赖的问题,就往出现问题的类所在的依赖下思考,可以找到解决方法.
转载请注明:spring cloud(spring boot) 项目启动之error:Consider defining a bean of type‘xxx‘无法启动 | 胖虎的工具箱-编程导航