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

定位过程真的是好心累!

补充:今天安装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”

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • SpringBoot整合Mybatis无法扫描xml文件的解决

    网上说是使用idea在SpringBoot整合Mybatis时候会扫描不到xml文件 1.将xml文件放在resources下 2.在application.properties中配置xml文件的扫面 补充知识:Springboot整合mybatis /*.xml路径URl does not exist问题 解决一: 在配置文件下 扫描不到 xml文件: 原来的文件: <bean id="sqlSessionFactory" class="org.mybatis.spr

  • Springboot以Repository方式整合Redis的方法

    1 简介 Redis是高性能的NoSQL数据库,经常作为缓存流行于各大互联网架构中.本文将介绍如何在Springboot中整合Spring Data Redis,使用Repository的方式操作. 代码结构如下: 2 整合过程 2.1 安装Redis数据库 为了节省时间,就直接通过Docker来安装了,可以参考文章:Docker安装Redis并介绍漂亮的可视化客户端进行操作,可以快速安装并使用客户端进行查看和操作. 2.2 引入相关依赖 我们引入Springboot Web的依赖,以启动RES

  • Springboot 扫描mapper接口的2种操作

    方式一: 在所有mapper接口使用@Mapper注解 @Mapper (将包中的所有接口都标注为DAO层接口) public interface UserMapper { UserInfo getUserInfo(@Param("userId") String userId); } 方式二: 在springboot的启动类使用@MapperScan注解 (作用:将指定包中的所有接口都标注为DAO层接口,相当于在每一个接口上写@Mapper) @SpringBootApplicatio

  • springboot bean扫描路径的实现

    1:默认扫描启动类所在路径下所有的bean 2:可以在启动类中添加注解,手动指定扫描路径: @ComponentScan(basePackages = {"com.xxx.service1.*","com.xxx.service2.**"}) 补充:SpringBoot 是如何通过 @SpringBootApplication 扫描项目中的 Bean 原因 首先因为 XXXXXXXApplication 附带 @SpringBootApplication 注解,而

  • 详解SpringBoot启动类的扫描注解的用法及冲突原则

    背景 SpringBoot 启动类上,配置扫描包路径有三种方式,最近看到一个应用上三种注解都用上了,代码如下: @SpringBootApplication(scanBasePackages ={"a","b"}) @ComponentScan(basePackages = {"a","b","c"}) @MapperScan({"XXX"}) public class XXApplic

  • Springboot自动扫描包路径来龙去脉示例详解

    我们暂且标注下Springboot启动过程中较为重要的逻辑方法,源码对应的spring-boot-2.2.2.RELEASE版本 public ConfigurableApplicationContext run(String... args) { StopWatch stopWatch = new StopWatch(); stopWatch.start(); ConfigurableApplicationContext context = null; Collection<SpringBoo

  • 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层配置的@Re

  • springboot 无法扫描到父类模块中Bean的原因及解决

    目录 springboot 无法扫描到父类模块中Bean 现象: 如何解决 解决方案 spring boot 启动就自动关闭 之 找不到bean 解决方法: 原因: 以下收集别的解释: 所以有两种解决办法: springboot 无法扫描到父类模块中Bean 现象: 我定义了两个模块 A 和 B .B模块依赖A模块 A模块中我定义了一个@Component 却发现在B模块中我无法扫描到这个Bean导入注入失败 如何解决 查阅得知,在springboot中的bean扫描是扫描同级目录或者下级目录,

  • Java SpringBoot整合shiro-spring-boot-starterqi项目报错解决

    目录 1.项目启动时报错如下 2.原因分析 3.测试@ConditionalOnMissingBean注解 1.项目启动时报错如下 Description: The bean 'securityManager', defined in class path resource [org/apache/shiro/spring/config/web/autoconfigure/ShiroWebAutoConfiguration.class], could not be registered. A b

  • springboot中如何通过cors协议解决跨域问题

    1.对于前后端分离的项目来说,如果前端项目与后端项目部署在两个不同的域下,那么势必会引起跨域问题的出现. 针对跨域问题,我们可能第一个想到的解决方案就是jsonp,并且以前处理跨域问题我基本也是这么处理. 但是jsonp方式也同样有不足,不管是对于前端还是后端来说,写法与我们平常的ajax写法不同,同样后端也需要作出相应的更改.并且,jsonp方式只能通过get请求方式来传递参数,当然也还有其它的不足之处,针对于此,我并没有急着使用jsonp的方式来解决跨域问题,去网上找寻其它方式,也就是本文主

  • 基于SpringBoot构造器注入循环依赖及解决方式

    1. 循环依赖是什么? Bean A 依赖 B,Bean B 依赖 A这种情况下出现循环依赖. Bean A → Bean B → Bean A 更复杂的间接依赖造成的循环依赖如下. Bean A → Bean B → Bean C → Bean D → Bean E → Bean A 2. 循环依赖会产生什么结果? 当Spring正在加载所有Bean时,Spring尝试以能正常创建Bean的顺序去创建Bean. 例如,有如下依赖: Bean A → Bean B → Bean C Spring

  • springboot返回前端中文乱码的解决

    尝试了各种防止中文乱码的方式,但是还是乱码;最后还是细节问题导致; 解决方式: 以及俩种方式是百度的,我的问题不是这俩块 1.在requestMapping 中添加 produces @RequestMapping( value = "/login", produces = "application/json;charset=utf-8", method = RequestMethod.POST ) 2.在application.yml 中添加配置 spring:

  • java SpringBoot注解@Async不生效的解决方法

    目录 问题描述: 解决方案: 总结: SpringBoot 注解@Async不生效的解决方法 问题描述: 这里虽然加了@EnableAsync和@Async,但是异步请求依然没有生效 解决方案: 方法一: 同一个类中调用需要先获取代理对象,也就是手动获取对象 @Service @EnableAsync public class DemoService { public void add(){ DemoService bean = SpringUtil.getBean(DemoService.cl

  • spring-boot项目启动迟缓异常排查解决记录

    目录 问题背景 问题分析 假设问题 小心求证 问题总结 问题背景 一个spring boot开发的项目,spring boot版本是1.5.7,携带的spring版本是4.1.3.开发反馈,突然在本地启动不起来了,表象特征就是在本地IDEA上运行时,进程卡住也不退出,应用启动时加载相关组件的日志也不输出.症状如下图: 问题分析 因为没有有用的日志信息,所以不能从日志这个层面上排查问题.但是像这种没有输出日志的话,一般情况下,肯定是程序内部启动流程卡在什么地方了,只能通过打印下当前线程堆栈信息了解

  • SpringBoot整合Mybatis-Plus分页失效的解决

    场景:项目整合mybatis-Plus分页失效,current一直是1,size一直是10,total属性一直是0,数据分页不准 先看官网给的示例: 解决方案是新建mybatis-Plus的配置文件: package com.amc.config; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer; imp

随机推荐