欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot默認(rèn)使用HikariDataSource數(shù)據(jù)源方式

 更新時(shí)間:2021年10月01日 10:05:36   作者:程序猿新手_曹先生  
這篇文章主要介紹了SpringBoot默認(rèn)使用HikariDataSource數(shù)據(jù)源方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

SpringBoot默認(rèn)使用HikariDataSource數(shù)據(jù)源

定義

數(shù)據(jù)源:存儲(chǔ)了所有建立數(shù)據(jù)庫(kù)連接的信息。通過(guò)提供正確的數(shù)據(jù)源名稱(chēng),你可以找到相應(yīng)的數(shù)據(jù)庫(kù)連接。

數(shù)據(jù)源負(fù)責(zé)維持一個(gè)數(shù)據(jù)庫(kù)連接池,當(dāng)程序創(chuàng)建數(shù)據(jù)源實(shí)例時(shí),系統(tǒng)會(huì)一次性的創(chuàng)建多個(gè)數(shù)據(jù)庫(kù)連接,并把這些數(shù)據(jù)連接保存在連接池中。當(dāng)程序需要進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn)時(shí),無(wú)須重新獲得數(shù)據(jù)庫(kù)連接,而是從連接池中取出一個(gè)空閑的數(shù)據(jù)庫(kù)連接,當(dāng)程序使用數(shù)據(jù)庫(kù)連接訪問(wèn)結(jié)束后,無(wú)須關(guān)閉數(shù)據(jù)庫(kù)連接,而是將數(shù)據(jù)庫(kù)連接歸還給連接池即可。通過(guò)這種方式可以避免頻繁的獲取數(shù)據(jù)庫(kù)連接,關(guān)閉數(shù)據(jù)庫(kù)連接所導(dǎo)致的性能下降。

全局配置文件application.yml中spring.datasource下只配置了賬號(hào),密碼,數(shù)據(jù)庫(kù)地址,連接驅(qū)動(dòng),因?yàn)槟J(rèn)使用的是HikariDataSource數(shù)據(jù)源。

如果是自定義數(shù)據(jù)源,可以使用

spring.datasource.type=com.zaxxer.hikari.HikariDataSource

測(cè)試:

@RunWith(SpringRunner.class)
@SpringBootTest
public class HorseApplicationTests {
    /**
     * Spring Boot 默認(rèn)已經(jīng)配置好了數(shù)據(jù)源,程序員可以直接 DI 注入然后使用即可
     */
    @Resource
    DataSource dataSource;
    
    @Test
    public void contextLoads() throws SQLException {
        System.out.println("數(shù)據(jù)源>>>>>>" + dataSource.getClass());
    }

運(yùn)行結(jié)果:

數(shù)據(jù)源>>>>>>class com.zaxxer.hikari.HikariDataSource

數(shù)據(jù)庫(kù)連接

有了數(shù)據(jù)源,就可以拿到數(shù)據(jù)庫(kù)連接,使用JdbcTemplate 進(jìn)行CRUD數(shù)據(jù)庫(kù),即使沒(méi)有使用第三方數(shù)據(jù)庫(kù)操作框架,如:Mybatis,Hibernate,等Spring本身就可以對(duì)原生的JDBC做了輕量級(jí)的封裝,即時(shí)JdbcTemplate.

SpringBoot不僅提供了默認(rèn)的數(shù)據(jù)源,同時(shí)默認(rèn)已經(jīng)配置好了JdbcTemplate放在容器中,程序員只需自己注入即可使用。

JdbcTemplate的自動(dòng)裝配原理是依賴JdbcTemplateAutoConfiguration類(lèi)。

HikariDataSource默認(rèn)配置

com.zaxxer.hikari.HikariConfig
private static final long IDLE_TIMEOUT = MINUTES.toMillis(10);
private static final long MAX_LIFETIME = MINUTES.toMillis(30);
private static final int DEFAULT_POOL_SIZE = 10;
private static boolean unitTest = false;

// Properties changeable at runtime through the HikariConfigMXBean
//
private volatile long connectionTimeout;
private volatile long validationTimeout;
private volatile long idleTimeout;
private volatile long leakDetectionThreshold;
private volatile long maxLifetime;
private volatile int maxPoolSize;
private volatile int minIdle;
private volatile String username;
private volatile String password;

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

相關(guān)文章

  • 解決Java?properties文件里面如何寫(xiě)"\"的問(wèn)題

    解決Java?properties文件里面如何寫(xiě)"\"的問(wèn)題

    由于properties使用“\”相當(dāng)于是java的轉(zhuǎn)義符,如果想要寫(xiě)出\的效果,只需修改相應(yīng)的寫(xiě)法即可,對(duì)java?properties文件里的"\"寫(xiě)法感興趣的朋友一起看看吧
    2022-04-04
  • 使用@Validated注解進(jìn)行校驗(yàn)卻沒(méi)有效果的解決

    使用@Validated注解進(jìn)行校驗(yàn)卻沒(méi)有效果的解決

    這篇文章主要介紹了使用@Validated注解進(jìn)行校驗(yàn)卻沒(méi)有效果的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • java學(xué)生信息管理系統(tǒng)設(shè)計(jì)(2)

    java學(xué)生信息管理系統(tǒng)設(shè)計(jì)(2)

    這篇文章主要為大家詳細(xì)介紹了java學(xué)生信息管理系統(tǒng)設(shè)計(jì),學(xué)生信息添加進(jìn)入數(shù)據(jù)庫(kù)的事務(wù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Spring Boot2.0整合ES5實(shí)現(xiàn)文章內(nèi)容搜索實(shí)戰(zhàn)

    Spring Boot2.0整合ES5實(shí)現(xiàn)文章內(nèi)容搜索實(shí)戰(zhàn)

    這篇文章主要介紹了Spring Boot2.0整合ES5實(shí)現(xiàn)文章內(nèi)容搜索實(shí)戰(zhàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • Java多線程中的互斥鎖解析

    Java多線程中的互斥鎖解析

    這篇文章主要介紹了Java多線程中的互斥鎖解析,Java語(yǔ)言中,引入了對(duì)象互斥鎖的概念,來(lái)保證共享數(shù)據(jù)操作的完整性,每個(gè)對(duì)象都對(duì)應(yīng)于一個(gè)可稱(chēng)為互斥鎖的標(biāo)記,這個(gè)標(biāo)記用來(lái)保證在任一時(shí)刻,只能有一個(gè)線程訪問(wèn)該對(duì)象,需要的朋友可以參考下
    2023-09-09
  • Java使用Thread創(chuàng)建多線程并啟動(dòng)操作示例

    Java使用Thread創(chuàng)建多線程并啟動(dòng)操作示例

    這篇文章主要介紹了Java使用Thread創(chuàng)建多線程并啟動(dòng)操作,結(jié)合實(shí)例形式分析了Java基于Thread類(lèi)的多線程定義與啟動(dòng)簡(jiǎn)單操作技巧,需要的朋友可以參考下
    2018-06-06
  • springmvc重定向?qū)崿F(xiàn)方法解析

    springmvc重定向?qū)崿F(xiàn)方法解析

    這篇文章主要介紹了springmvc重定向?qū)崿F(xiàn)方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 詳解SpringBoot禁用Swagger的三種方式

    詳解SpringBoot禁用Swagger的三種方式

    在生產(chǎn)環(huán)境下,我們需要關(guān)閉swagger配置,避免暴露接口的這種危險(xiǎn)行為。本文就詳細(xì)的介紹了3種情況,感興趣的可以了解一下
    2021-11-11
  • Java Timezone類(lèi)常見(jiàn)問(wèn)題_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java Timezone類(lèi)常見(jiàn)問(wèn)題_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了Java Timezone類(lèi)常見(jiàn)問(wèn)題的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • SpringSecurity實(shí)現(xiàn)前后端分離的示例詳解

    SpringSecurity實(shí)現(xiàn)前后端分離的示例詳解

    Spring Security默認(rèn)提供賬號(hào)密碼認(rèn)證方式,具體實(shí)現(xiàn)是在UsernamePasswordAuthenticationFilter 中,這篇文章主要介紹了SpringSecurity實(shí)現(xiàn)前后端分離的示例詳解,需要的朋友可以參考下
    2023-03-03

最新評(píng)論