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 {
public static void main(String[] args) {
SpringApplication.run(FileApplication.class, args);
}
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项目默认会访问数据库,因为此时没有写数据库连接,所以出现这个错误。
解决
在启动类上加上一个注解,在容器加载的时候默认排除数据库连接即可。
具体如图所示:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。