springBoot 项目排除数据库启动方式
目录
- springBoot 排除数据库启动
- 1. 场景
- 2. 配置
- Springboot不经过数据库直接启动
- 问题
- 错误
- 原因
- 解决
springBoot 排除数据库启动
1. 场景
在家里运行项目,运行springBoot的时候报数据库连接不了,公司的数据库家里不能连接。
2. 配置
2.1 保留之前的properties 配置,不删除;
2.2 在启动类中添加
exclude = {DataSourceAutoConfiguration.class}
package cn.cncommdata.file; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.cloud.openfeign.EnableFeignClients; /** * 启动类 */ @SpringBootApplication(scanBasePackages = "cn.cncommdata", exclude = {DataSourceAutoConfiguration.class}) @EnableFeignClients(basePackages = {"cn.cncommdata", "cc.iooc"}) @MapperScan("cn.cncommdata.file.dao") public class FileApplication { /** * main * * @param args args */ public static void main(String[] args) { SpringApplication.run(FileApplication.class, args); } /** * 没什么用,就是不想让checkstyle报错 */ public void init() { } }
Springboot不经过数据库直接启动
问题
之前开发工程中,有一个单独注册在nacos上服务的项目(不需要访问数据库)需要启动,但是启动会报错。
错误
Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method ‘dataSource' threw exception; nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourcePropertiesDataSourceBeanCreationException: Failed to determine a suitable driver class
原因
SpringBoot项目默认会访问数据库,因为此时没有写数据库连接,所以出现这个错误。
解决
在启动类上加上一个注解,在容器加载的时候默认排除数据库连接即可。
具体如图所示:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。