springboot配置Druid數(shù)據(jù)源

springboot整合篇

前言

對(duì)于數(shù)據(jù)訪問(wèn)層,無(wú)論是Sql還是NoSql悲敷,SpringBoot默認(rèn)采用整合SpringData的方式進(jìn)行統(tǒng)一管理屎暇,添加大量的自動(dòng)配置囚巴,屏蔽了很多設(shè)置您炉。引入了各種XxxTemplate和XxxRepository來(lái)簡(jiǎn)化我們隊(duì)數(shù)據(jù)訪問(wèn)層的操作柒爵。

springboot2.0默認(rèn)是用com.zaxxer.hikari.HikariDataSource作為數(shù)據(jù)源。

2.0以下默認(rèn)采用的是org.apache.tomcat.jdbc.pool.DataSource作為數(shù)據(jù)源赚爵。

Hikari的官方網(wǎng)站:http://brettwooldridge.github.io/HikariCP/

Hikari號(hào)稱JAVA領(lǐng)域中最快的數(shù)據(jù)連接池棉胀,你可去點(diǎn)連接進(jìn)去看看,第一行就是說(shuō)他自己多么厲害冀膝,秒殺什么什么的唁奢,不過(guò)再快我也覺(jué)得沒(méi)有阿里巴巴奉獻(xiàn)給apache的Druid好,因?yàn)榘⒗锇桶偷姆?wù)周到畸写,里面有監(jiān)控中心驮瞧,可以幫助我們快速定位慢sql等。

Druid官方網(wǎng)站:http://druid.io/

為什么HikariCP被號(hào)稱為性能最好的Java數(shù)據(jù)庫(kù)連接池枯芬,如何配置使用參考這篇博客:點(diǎn)擊

注意事項(xiàng):默認(rèn)情況下使用com.zaxxer.hikari.HikariDataSource獲取數(shù)據(jù)源時(shí)會(huì)拋出一個(gè)異常论笔。說(shuō)時(shí)區(qū)不對(duì),需要我們修改mysql的時(shí)區(qū):

SHOWVARIABLESLIKE'%time_zone%'SETGLOBALtime_zone="+8:00"

使用Druid數(shù)據(jù)源

Apache Druid(Incubating) - 面向列的分布式數(shù)據(jù)存儲(chǔ)千所,非常適合為交互式應(yīng)用程序提供動(dòng)力

雖然HikariDataSource性能非常高狂魔,但是阿里的druid數(shù)據(jù)源配有成套的數(shù)據(jù)源管理軟件,開發(fā)中使用的更多淫痰。

以往我們都是直接引入Druid的依賴:

com.alibabadruid1.1.12

但是面對(duì)這么火爆的springboot并沒(méi)有直接對(duì)Druid的啟動(dòng)器而是需要我們自己整合最楷,apache中4個(gè)月前已經(jīng)出了一套完美支持springboot的方案所以說(shuō)我們不使用上面的依賴而是使用:

源碼下載:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter

com.alibabadruid-spring-boot-starter1.1.10

配置YML文件,具體的參數(shù)配置可以去官網(wǎng)看看:

spring:? datasource:#? 數(shù)據(jù)源基本配置? ? username:root? ? password:root? ? driver-class-name:com.mysql.jdbc.Driver? ? url:jdbc:mysql://localhost:3306/duid? ? type:com.alibaba.druid.pool.DruidDataSource#? 數(shù)據(jù)源其他配置? ? initialSize:5? ? minIdle:5? ? maxActive:20? ? maxWait:60000? ? timeBetweenEvictionRunsMillis:60000? ? minEvictableIdleTimeMillis:300000? ? validationQuery:SELECT1FROMDUAL? ? testWhileIdle:true? ? testOnBorrow:false? ? testOnReturn:false? ? poolPreparedStatements:true#? 配置監(jiān)控統(tǒng)計(jì)攔截的filters,去掉后監(jiān)控界面sql無(wú)法統(tǒng)計(jì)待错,'wall'用于防火墻? ? ? filters:stat,wall? ? maxPoolPreparedStatementPerConnectionSize:20? ? useGlobalDataSourceStat:true? ? connectionProperties:druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

雖然我們配置了druid連接池的其它屬性籽孙,但是不會(huì)生效。因?yàn)槟J(rèn)是使用的java.sql.Datasource的類來(lái)獲取屬性的火俄,有些屬性datasource沒(méi)有犯建。如果我們想讓配置生效,需要手動(dòng)創(chuàng)建Druid的配置文件瓜客。

@ConfigurationProperties(prefix ="spring.datasource")@BeanpublicDruidDataSourcedruidDataSource(){returnnewDruidDataSource();}

Druid的最強(qiáng)大之處在于它有著強(qiáng)大的監(jiān)控适瓦,可以監(jiān)控我們發(fā)送到數(shù)據(jù)庫(kù)的所有sql語(yǔ)句。方便我們后期排插錯(cuò)誤谱仪。

我們接著在DruidDataSource里面配置監(jiān)控中心:

/**? ? * 配置監(jiān)控服務(wù)器? ? *@return返回監(jiān)控注冊(cè)的servlet對(duì)象? ? *@authorSimpleWu? ? */@BeanpublicServletRegistrationBeanstatViewServlet(){? ? ? ? ServletRegistrationBean servletRegistrationBean =newServletRegistrationBean(newStatViewServlet(),"/druid/*");// 添加IP白名單servletRegistrationBean.addInitParameter("allow","127.0.0.1");// 添加IP黑名單玻熙,當(dāng)白名單和黑名單重復(fù)時(shí),黑名單優(yōu)先級(jí)更高servletRegistrationBean.addInitParameter("deny","127.0.0.1");// 添加控制臺(tái)管理用戶servletRegistrationBean.addInitParameter("loginUsername","SimpleWu");? ? ? ? servletRegistrationBean.addInitParameter("loginPassword","123456");// 是否能夠重置數(shù)據(jù)servletRegistrationBean.addInitParameter("resetEnable","false");returnservletRegistrationBean;? ? }/**? ? * 配置服務(wù)過(guò)濾器? ? *? ? *@return返回過(guò)濾器配置對(duì)象? ? */@BeanpublicFilterRegistrationBeanstatFilter(){? ? ? ? FilterRegistrationBean filterRegistrationBean =newFilterRegistrationBean(newWebStatFilter());// 添加過(guò)濾規(guī)則filterRegistrationBean.addUrlPatterns("/*");// 忽略過(guò)濾格式filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*,");returnfilterRegistrationBean;? ? }

配置完后我們啟動(dòng)springboot程序訪問(wèn):

http://localhost:8080/druid/ 就可以來(lái)到我們的登錄頁(yè)面面就是我們上面添加的控制臺(tái)管理用戶疯攒,我們可以在上面很好的看到運(yùn)行狀況嗦随,圖片就不貼了截圖挺麻煩的。

感謝您的閱讀敬尺,如果您覺(jué)得閱讀本文對(duì)您有幫助枚尼,請(qǐng)點(diǎn)一下“推薦”按鈕肌毅。本文歡迎各位轉(zhuǎn)載,但是轉(zhuǎn)載文章之后必須在文章頁(yè)面中給出作者和原文連接姑原。

學(xué)習(xí)是永無(wú)止境的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末呜舒,一起剝皮案震驚了整個(gè)濱河市锭汛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌袭蝗,老刑警劉巖唤殴,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異到腥,居然都是意外死亡朵逝,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門乡范,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)配名,“玉大人,你說(shuō)我怎么就攤上這事晋辆∏觯” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵瓶佳,是天一觀的道長(zhǎng)芋膘。 經(jīng)常有香客問(wèn)我,道長(zhǎng)霸饲,這世上最難降的妖魔是什么为朋? 我笑而不...
    開封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮厚脉,結(jié)果婚禮上习寸,老公的妹妹穿的比我還像新娘。我一直安慰自己器仗,他們只是感情好融涣,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著精钮,像睡著了一般威鹿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上轨香,一...
    開封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天忽你,我揣著相機(jī)與錄音,去河邊找鬼臂容。 笑死科雳,一個(gè)胖子當(dāng)著我的面吹牛根蟹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播糟秘,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼简逮,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了尿赚?” 一聲冷哼從身側(cè)響起散庶,我...
    開封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎凌净,沒(méi)想到半個(gè)月后悲龟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡冰寻,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年须教,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片斩芭。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡轻腺,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出秒旋,到底是詐尸還是另有隱情约计,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布迁筛,位于F島的核電站煤蚌,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏细卧。R本人自食惡果不足惜尉桩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望贪庙。 院中可真熱鬧蜘犁,春花似錦、人聲如沸止邮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)导披。三九已至屈扎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間撩匕,已是汗流浹背鹰晨。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人模蜡。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓漠趁,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親忍疾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子闯传,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容