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

springboot配置druid連接池的方法示例

 更新時(shí)間:2019年01月11日 15:08:54   作者:Brl  
這篇文章主要介紹了springboot配置druid連接池的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

Druid的簡(jiǎn)介

Druid首先是一個(gè)數(shù)據(jù)庫連接池。Druid是目前最好的數(shù)據(jù)庫連接池,在功能、性能、擴(kuò)展性方面,都超過其他數(shù)據(jù)庫連接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。Druid已經(jīng)在阿里巴巴部署了超過600個(gè)應(yīng)用,經(jīng)過一年多生產(chǎn)環(huán)境大規(guī)模部署的嚴(yán)苛考驗(yàn)。Druid是阿里巴巴開發(fā)的號(hào)稱為監(jiān)控而生的數(shù)據(jù)庫連接池!

Druid的功能

1、替換DBCP和C3P0。Druid提供了一個(gè)高效、功能強(qiáng)大、可擴(kuò)展性好的數(shù)據(jù)庫連接池。

2、可以監(jiān)控?cái)?shù)據(jù)庫訪問性能,Druid內(nèi)置提供了一個(gè)功能強(qiáng)大的StatFilter插件,能夠詳細(xì)統(tǒng)計(jì)SQL的執(zhí)行性能,這對(duì)于線上分析數(shù)據(jù)庫訪問性能有幫助。

3、數(shù)據(jù)庫密碼加密。直接把數(shù)據(jù)庫密碼寫在配置文件中,這是不好的行為,容易導(dǎo)致安全問題。DruidDruiver和DruidDataSource都支持PasswordCallback。

4、SQL執(zhí)行日志,Druid提供了不同的LogFilter,能夠支持Common-Logging、Log4j和JdkLog,你可以按需要選擇相應(yīng)的LogFilter,監(jiān)控你應(yīng)用的數(shù)據(jù)庫訪問情況。

5、擴(kuò)展JDBC,如果你要對(duì)JDBC層有編程的需求,可以通過Druid提供的Filter機(jī)制,很方便編寫JDBC層的擴(kuò)展插件。

所以Druid可以:

1、充當(dāng)數(shù)據(jù)庫連接池。

2、可以監(jiān)控?cái)?shù)據(jù)庫訪問性能

3、獲得SQL執(zhí)行日志

在spring boot基礎(chǔ)上開始配置:

1.引入當(dāng)前最新的版本,這里我們使用的maven

<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>druid</artifactId>
  <version>1.1.12</version>
</dependency>

2.新建一個(gè)配置類,如下:

@Configuration//在項(xiàng)目啟動(dòng)時(shí)可以初始化配置
public class DruidConfiguration {
  @Bean
  public ServletRegistrationBean staViewServlet(){
    ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),
        "/druid/*");
    //白名單為空允許任何ip訪問
    servletRegistrationBean.addInitParameter("allow","127.0.0.1");
    //ip黑名單(存在共同時(shí),deny優(yōu)先于allow):如果滿足deny的即提示:Sorry you are not permitted...
    servletRegistrationBean.addInitParameter("deny","127.0.0.2");
    //登錄查看信息的賬號(hào)密碼
    servletRegistrationBean.addInitParameter("loginUsername","druid");
    servletRegistrationBean.addInitParameter("loginPassword","druid");
    //是否能夠重置數(shù)據(jù)
    servletRegistrationBean.addInitParameter("resetEnable","true");
    return servletRegistrationBean;
  }

  @Bean
  public FilterRegistrationBean statFilter(){
    FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
    //添加過濾規(guī)則
    filterRegistrationBean.addUrlPatterns("/*");
    //添加不需要忽略的格式信息
    filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpn,*.png,*.css,*.ico,/druid/*");
    return filterRegistrationBean;
  }

  //配置數(shù)據(jù)庫的基本連接信息
  @Bean
  @Primary
  @ConfigurationProperties(prefix = "spring.datasource")//在application.properties中讀取配置信息注入到DruidDataSource里
  public DataSource dataSource(){
    DruidDataSource druidDataSource = DataSourceBuilder.create().type(DruidDataSource.class).build();
    druidDataSource.setInitialSize(3);//初始化物理連接的數(shù)量
    try {
      druidDataSource.addFilters("stat,wall");//stat是sql監(jiān)控,wall是防火墻(如果不添加則監(jiān)控?zé)o效),不能添加log4j不然會(huì)出錯(cuò)
    } catch (SQLException e) {
      e.printStackTrace();
    }
    return druidDataSource;
  }

}

在application.properties中添加如下配置信息:

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

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mrbshiro?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=123456

上面這些配置會(huì)自動(dòng)注入到我們上面的 DruidDataSource實(shí)列里。

這樣就可以訪問projectUrl/druid進(jìn)行登錄了

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 創(chuàng)建java多線程程序

    創(chuàng)建java多線程程序

    Java 給多線程編程提供了內(nèi)置的支持。一條線程指的是進(jìn)程中一個(gè)單一順序的控制流,一個(gè)進(jìn)程中可以并發(fā)多個(gè)線程,每條線程并行執(zhí)行不同的任務(wù)。希望本篇文章能夠給你帶來幫助
    2021-06-06
  • Hibernate延遲加載技術(shù)詳解

    Hibernate延遲加載技術(shù)詳解

    這篇文章主要介紹了Hibernate延遲加載技術(shù),結(jié)合實(shí)例形式詳細(xì)分析了Hibernate延遲加載所涉及的各種常用技巧,需要的朋友可以參考下
    2016-03-03
  • Java中equals()知識(shí)點(diǎn)總結(jié)

    Java中equals()知識(shí)點(diǎn)總結(jié)

    在本篇文章里小編給大家分享的是關(guān)于Java中equals()知識(shí)點(diǎn)總結(jié)內(nèi)容,需要的朋友們可以學(xué)習(xí)參考下。
    2020-03-03
  • SpringBoot Test 多線程報(bào)錯(cuò)的根本原因(dataSource already closed)

    SpringBoot Test 多線程報(bào)錯(cuò)的根本原因(dataSource already

    在使用Springboot test進(jìn)行相關(guān)測(cè)試的時(shí)候,發(fā)現(xiàn)開啟線程操作數(shù)據(jù)庫的時(shí)候異常,這篇文章主要介紹了SpringBoot Test 多線程報(bào)錯(cuò):dataSource already closed的根本原因及解決方法,需要的朋友可以參考下
    2022-06-06
  • Java異常處理操作 Throwable、Exception、Error

    Java異常處理操作 Throwable、Exception、Error

    這篇文章主要介紹了Java異常處理操作 Throwable、Exception、Error,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • java多態(tài)機(jī)制原理特點(diǎn)詳解

    java多態(tài)機(jī)制原理特點(diǎn)詳解

    在本篇文章里小編給大家分享的是關(guān)于java多態(tài)機(jī)制原理特點(diǎn)詳解,有需要的朋友們可以跟著學(xué)習(xí)下。
    2020-02-02
  • Java線程生命周期及轉(zhuǎn)換過程

    Java線程生命周期及轉(zhuǎn)換過程

    這篇文章主要介紹了Java線程生命周期及轉(zhuǎn)換過程,線程的生命周期指的是線程從創(chuàng)建到銷毀的整個(gè)過程初始狀態(tài)、可運(yùn)行狀態(tài)、運(yùn)行狀態(tài)、休眠狀態(tài)、終止?fàn)顟B(tài),更多詳細(xì)介紹,需要的小伙伴可以參考下面文章內(nèi)容
    2022-05-05
  • 徹底解決IDEA中SpringBoot熱部署無效的問題(推薦)

    徹底解決IDEA中SpringBoot熱部署無效的問題(推薦)

    這篇文章主要介紹了徹底解決IDEA中SpringBoot熱部署無效的問題,本文給大家?guī)韱栴}原因分析通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-09-09
  • java使用顏色選擇器示例分享

    java使用顏色選擇器示例分享

    這篇文章主要介紹了java使用顏色選擇器示例,需要的朋友可以參考下
    2014-03-03
  • Java實(shí)現(xiàn)人機(jī)猜拳小游戲

    Java實(shí)現(xiàn)人機(jī)猜拳小游戲

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)人機(jī)猜拳小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11

最新評(píng)論