springboot配置druid連接池的完整步驟

Druid的簡介

專注于為中小企業(yè)提供網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)東阿免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎ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)行登錄了

spring boot配置druid連接池的完整步驟
 

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)創(chuàng)新互聯(lián)的支持。

當(dāng)前標(biāo)題:springboot配置druid連接池的完整步驟
URL地址:http://muchs.cn/article16/ghiidg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、定制網(wǎng)站、網(wǎng)站收錄、動(dòng)態(tài)網(wǎng)站、建站公司、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管