有时候启动一个springboot模块但是并不进行数据库层的业务操作,这时候在配置文件中没有配置数据库相关配置项,会报一个错误,如下:

但是这个时候你不想配置数据库文件,因为毕竟我并不操作数据库,我只是进行一个文件上传到oss的操作这种,所以这时候就需要解决方法了。
先来解释一下这个问题的原因:
spring boot 会默认加载org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration这个
类,
而DataSourceAutoConfiguration类使用了@Configuration注解向spring注入了dataSource bean,又因为
项目(oss模块)中并没有关于dataSource相关的配置信息,所以当spring创建dataSource bean时因缺
少相关的信息就会报错。
解决方法有两种:
方法一:就是配置数据库配置文件,这是我们都不想的。
方法二:这是重头戏,就是在@SpringBootApplication注解上加上exclude,解除自动加载DataSourceAutoConfiguration
1 @SpringBootApplication(exclude = DataSourceAutoConfiguration.class)
当SpringBoot应用启动但不需要数据库操作时,由于默认加载DataSourceAutoConfiguration导致错误。解决方法是在@SpringBootApplication注解上添加exclude属性,排除DataSourceAutoConfiguration,避免尝试创建数据库连接。这样可以确保仅进行文件上传到OSS等不涉及数据库的任务时,应用能够正常运行。
1371

被折叠的 条评论
为什么被折叠?



