springBoot 項(xiàng)目排除數(shù)據(jù)庫(kù)啟動(dòng)方式
springBoot 排除數(shù)據(jù)庫(kù)啟動(dòng)
1. 場(chǎng)景
在家里運(yùn)行項(xiàng)目,運(yùn)行springBoot的時(shí)候報(bào)數(shù)據(jù)庫(kù)連接不了,公司的數(shù)據(jù)庫(kù)家里不能連接。
2. 配置
2.1 保留之前的properties 配置,不刪除;
2.2 在啟動(dòng)類中添加
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; /** * 啟動(dòng)類 */ @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報(bào)錯(cuò) */ public void init() { } }
Springboot不經(jīng)過數(shù)據(jù)庫(kù)直接啟動(dòng)
問題
之前開發(fā)工程中,有一個(gè)單獨(dú)注冊(cè)在nacos上服務(wù)的項(xiàng)目(不需要訪問數(shù)據(jù)庫(kù))需要啟動(dòng),但是啟動(dòng)會(huì)報(bào)錯(cuò)。
錯(cuò)誤
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項(xiàng)目默認(rèn)會(huì)訪問數(shù)據(jù)庫(kù),因?yàn)榇藭r(shí)沒有寫數(shù)據(jù)庫(kù)連接,所以出現(xiàn)這個(gè)錯(cuò)誤。
解決
在啟動(dòng)類上加上一個(gè)注解,在容器加載的時(shí)候默認(rèn)排除數(shù)據(jù)庫(kù)連接即可。
具體如圖所示:
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java(SpringBoot)項(xiàng)目打包(構(gòu)建)成Docker鏡像的幾種常見方式
在對(duì)Spring Boot應(yīng)用程序進(jìn)行Docker化時(shí),為應(yīng)用程序選擇正確的基礎(chǔ)鏡像非常重要,下面這篇文章主要給大家介紹了關(guān)于Java(SpringBoot)項(xiàng)目打包(構(gòu)建)成Docker鏡像的幾種常見方式,需要的朋友可以參考下2023-12-12Java集合操作之List接口及其實(shí)現(xiàn)方法詳解
這篇文章主要介紹了Java集合操作之List接口及其實(shí)現(xiàn)方法,詳細(xì)分析了Java集合操作中List接口原理、功能、用法及操作注意事項(xiàng),需要的朋友可以參考下2015-07-07Spring實(shí)現(xiàn)擁有者權(quán)限驗(yàn)證的方法示例
這篇文章主要介紹了Spring實(shí)現(xiàn)擁有者權(quán)限驗(yàn)證的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03在Java中實(shí)現(xiàn)可見性(visibility)的主要方法詳解
這篇文章主要介紹了在Java中實(shí)現(xiàn)可見性(visibility)的主要方法詳解,在Java中,使用關(guān)鍵字volatile和使用鎖(如synchronized關(guān)鍵字或 java.util.concurrent包中的鎖)來(lái)確保對(duì)共享變量的修改在多線程環(huán)境中能夠正確地被其他線程所觀察到,需要的朋友可以參考下2023-08-08springboot框架阿里開源低代碼工具LowCodeEngine
這篇文章主要為大家介紹了springboot框架阿里開源低代碼LowCodeEngine工具使用詳解有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06