启功SpringBoot项目时报错,问题描述如下:

Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).


原因:
在pom中引入了mybatis-spring-boot-starter 坐标,Spring boot默认会加载org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration类,DataSourceAutoConfiguration类使用了@Configuration注解向spring注入了dataSource bean。因为工程中没有关于dataSource相关的配置信息,当spring创建dataSource bean因缺少相关的信息就会报错


解决方案:

  1. 方案一:去掉 mybatis 的坐标依赖
  2. 方案二:将启动类上的注解改为 @SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
  3. 方案三:在 application.yml 配置上数据库的连接信息

更多推荐

Consider the following: If you want an embedded database (H2, HSQL or Derby)