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项目默认会访问数据库,因为此时没有写数据库连接,所以出现这个错误。

解决

在启动类上加上一个注解,在容器加载的时候默认排除数据库连接即可。

具体如图所示:

在这里插入图片描述

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的