参考文章:https://blog.csdn.net/wo541075754/article/details/73379962
缘起
事情呢,是这个样子的,我写了个Springboot的小Demo,之前按照官方demo写的,没什么问题,然后我又写了个带上了Mysql数据库交互的,Pom依赖如下:
测试正常,能跑通数据库,然后想着自己也熟悉下IDEA吧,就又另建了个Module,懒惰是人类的天性(可能只是我的天性),就复制了这个POM文件到新的Module里面,但是application.yml文件却没有添加。
启动springboot之后,GG,启动失败
问题分析
其实这里说得已经挺详细了,大概意思就是是说:配置DataSource失败了,因为没有特别指定,也没有可用的数据源被设置了,启动失败。
所以大胆的推测,因为导入POM依赖包(mybatis-spring-boot-starter,或其他的数据源依赖包)之后,在springboot启动的时候,springboot的自动配置就会去寻找可用的数据源或者我们指定的数据源,但是application.yml(或 application.properties) 也没有指定,因此启动失败了
解决方法
- 如果暂时用不到数据源,可以吧POM文件中关于数据库的依赖先注释掉
- 提供数据源,在配置文件中,写入数据源的信息
- 在@SpringBootApplication注解中,剔除掉数据源自动设置
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})
其他
这里应该也是,导入了
spring-boot-starter-thumeleaf 的依赖包,因此导致了它需要去找/templates中的页面渲染文件,不过这个并不致命。依然可以正常启动SpringBoot,正常地提供服务