spring boot没有配置数据库,导致启动报错
问题截图:
问题分析:
pom.xml中导入了jbdc和mybatis的jar包依赖。但是application.yml(或aoolication.properties)文件中没有配置数据库,导致的启动失败。那为什么会这样呢?
原因分析:
spring boot默认会加载org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
类,DataSourceAutoConfiguration类使用了@Configuration注解向spring注入了dataSource bean。因为工程中没有关于dataSource相关的配置信息,当spring创建dataSource bean因缺少相关的信息就会报错。
解决办法:
- 删除pom.xml中的相关依赖,或者在配置文件中配置数据库
- 修改启动类的@SpringBootApplication注解,加入一下属性:
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
修改后,spring boot 就不会加载org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
类,也就不会再启动报错。
还没完…
注意:
如果加上去还是报类似的错,那你需要自己查看是否还配置了其他的依赖。比如mybatis,druid数据库链接池。如果是,则还还需要将它们也排除加载。原理是一样的,以此类推,应该为:
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class, MybatisAutoConfiguration.class, DruidDataSourceAutoConfigure.class})