最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用springboot不自動(dòng)初始化數(shù)據(jù)庫連接池

 更新時(shí)間:2021年09月10日 11:14:17   作者:天已青色等煙雨來  
這篇文章主要介紹了使用springboot不自動(dòng)初始化數(shù)據(jù)庫連接池,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

springboot不自動(dòng)初始化數(shù)據(jù)庫連接池

簡介

有時(shí)候我們想自己動(dòng)態(tài)的初始化數(shù)據(jù)庫連接池,但是springboot 的@SpringBootApplication注解會(huì)自動(dòng)去初始化數(shù)據(jù)庫連接池,不配置的話會(huì)啟動(dòng)失敗,如下提示

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$Dbcp2.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.commons.dbcp2.BasicDataSource]: Factory method 'dataSource' threw exception; nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine a suitable driver class
INFO - Unregistering JMX-exposed beans on shutdown

解決方案

辦法就是排除自動(dòng)初始化的類

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class Application implements CommandLineRunner {
...
}

加上這么一句

(exclude = {DataSourceAutoConfiguration.class})

就可以跳過數(shù)據(jù)庫的自動(dòng)初始化,自己為所欲為了~

記錄下spring boot關(guān)于數(shù)據(jù)庫連接池的一個(gè)小坑

環(huán)境:spring boot 1.5、JDK1.8

application.properties配置

# 驅(qū)動(dòng)配置信息
spring.datasource.url = jdbc:mysql://127.0.0.1:3306/mealsystem?useUnicode=true&characterEncoding=utf-8
spring.datasource.username = root
spring.datasource.password = 123456
spring.datasource.driverClassName = com.mysql.jdbc.Driver

#連接池的配置信息
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
spring.datasource.maxWait=60000
spring.datasource.timeBetweenEvictionRunsMillis=60000
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
spring.datasource.filters=stat,wall,log4j
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

先找到這個(gè)類

org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder

在下面的源碼中打個(gè)斷點(diǎn)

public DataSource build() {
        Class<? extends DataSource> type = this.getType();
        DataSource result = (DataSource)BeanUtils.instantiate(type);
        this.maybeGetDriverClassName();
        this.bind(result);
        return result;
    }

啟動(dòng)項(xiàng)目

這里寫圖片描述

我們可以發(fā)現(xiàn),在沒有配置spring.datasource.type時(shí),spring boot默認(rèn)的連接池是tomcat-jdbc

也就是說我們?cè)赼pplication.properties中配置的連接池參數(shù)是無效的。

好,那我們?cè)倥渲孟逻@個(gè)屬性,使用阿里巴巴的druid

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

再啟動(dòng)下

這里寫圖片描述

再來看看1.5版本org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder的源碼

private static final String[] DATA_SOURCE_TYPE_NAMES = new String[] {
            "org.apache.tomcat.jdbc.pool.DataSource",
            "com.zaxxer.hikari.HikariDataSource",
            "org.apache.commons.dbcp.BasicDataSource", // deprecated
            "org.apache.commons.dbcp2.BasicDataSource" };
  • spring boot 1.5的版本默認(rèn)連接池為tomcat-jdbc
  • spring boot 2.0的版本默認(rèn)連接池為HikariCP

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于Spring中各個(gè)jar包的作用及依賴(詳解)

    基于Spring中各個(gè)jar包的作用及依賴(詳解)

    下面小編就為大家?guī)硪黄赟pring中各個(gè)jar包的作用及依賴(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • 完美解決springboot項(xiàng)目出現(xiàn)”java: 錯(cuò)誤: 無效的源發(fā)行版:17“問題(圖文詳解)

    完美解決springboot項(xiàng)目出現(xiàn)”java: 錯(cuò)誤: 無效的源發(fā)行版:17“問題(圖文詳解)

    這篇文章主要介紹了完美解決springboot項(xiàng)目出現(xiàn)”java: 錯(cuò)誤: 無效的源發(fā)行版:17“問題,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • Springboot多環(huán)境開發(fā)及使用方法

    Springboot多環(huán)境開發(fā)及使用方法

    這篇文章主要介紹了Springboot多環(huán)境開發(fā)及多環(huán)境設(shè)置使用、多環(huán)境分組管理的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • 解決java.lang.NoClassDefFoundError錯(cuò)誤的問題

    解決java.lang.NoClassDefFoundError錯(cuò)誤的問題

    在Java開發(fā)過程中,NoClassDefFoundError是一個(gè)常見的運(yùn)行時(shí)錯(cuò)誤,是由于JVM在運(yùn)行時(shí)找不到已編譯的類文件導(dǎo)致的,本文就來介紹一下如何解決,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-09-09
  • Mybatis分頁的實(shí)現(xiàn)及使用注解開發(fā)操作

    Mybatis分頁的實(shí)現(xiàn)及使用注解開發(fā)操作

    這篇文章主要介紹了Mybatis分頁的實(shí)現(xiàn)及使用注解開發(fā)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Spring HandlerInterceptor實(shí)現(xiàn)原理代碼解析

    Spring HandlerInterceptor實(shí)現(xiàn)原理代碼解析

    這篇文章主要介紹了Spring HandlerInterceptor實(shí)現(xiàn)原理代碼解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • 詳解Java使用Jsch與sftp服務(wù)器實(shí)現(xiàn)ssh免密登錄

    詳解Java使用Jsch與sftp服務(wù)器實(shí)現(xiàn)ssh免密登錄

    這篇文章主要介紹了詳解Java使用Jsch與sftp服務(wù)器實(shí)現(xiàn)ssh免密登錄,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 使用logback實(shí)現(xiàn)日志打印過濾

    使用logback實(shí)現(xiàn)日志打印過濾

    這篇文章主要介紹了使用logback實(shí)現(xiàn)日志打印過濾的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • maven在IDEA下載依賴包速度慢的問題解決

    maven在IDEA下載依賴包速度慢的問題解決

    這篇文章主要介紹了maven在IDEA下載依賴包速度慢的問題解決方案,本文通過圖文結(jié)合的形式給大家分享解決方案,供大家參考,需要的朋友可以參考下
    2024-01-01
  • Java中Date日期類的使用方法示例詳解

    Java中Date日期類的使用方法示例詳解

    這篇文章主要介紹了Java中Date日期類的使用方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08

最新評(píng)論

浦江县| 普定县| 哈尔滨市| 保康县| 阿拉善左旗| 静海县| 邹城市| 乐平市| 合阳县| 城市| 尚志市| 乌鲁木齐县| 绥滨县| 安庆市| 枝江市| 鄂州市| 新密市| 和平县| 越西县| 梁河县| 潮州市| 西峡县| 新野县| 奉贤区| 延吉市| 四平市| 平山县| 富平县| 丰顺县| 光泽县| 大化| 临洮县| 浠水县| 大安市| 祁连县| 南木林县| 特克斯县| 永德县| 南澳县| 磴口县| 盈江县|