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項目默認會訪問數據庫,因為此時沒有寫數據庫連接,所以出現這個錯誤。

解決

在啟動類上加上一個註解,在容器加載的時候默認排除數據庫連接即可。

具體如圖所示:

在這裡插入圖片描述

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: