Druid是阿里巴巴開(kāi)源平臺(tái)上一個(gè)數(shù)據(jù)庫(kù)連接池實(shí)現(xiàn),它結(jié)合了C3P0、DBCP、PROXOOL等DB池的優(yōu)點(diǎn),同時(shí)加入了日志監(jiān)控,可以很好的監(jiān)控DB池連接和SQL的執(zhí)行情況,可以說(shuō)是針對(duì)監(jiān)控而生的DB連接池。更多資料說(shuō)明大家可以查看官網(wǎng)
創(chuàng)新互聯(lián)公司于2013年成立,先為羅山等服務(wù)建站,羅山等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為羅山企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
Github:https://github.com/alibaba/druid
Druid官方已經(jīng)編寫(xiě)好了相關(guān)的啟動(dòng)器,我們可以引入啟動(dòng)器,然后進(jìn)行相關(guān)配置就可以使用Druid的各種功能。如果只是引入Druid依賴包,沒(méi)有引入Druid的SpringBoot啟動(dòng)器依賴,這時(shí)如果要實(shí)現(xiàn)使用Druid的,需要自己實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接池對(duì)象(DataSource),然后將配置信息注入到實(shí)現(xiàn)的連接池對(duì)象中。另外如果要使用Druid的監(jiān)控功能,還需要編寫(xiě)Druid內(nèi)置監(jiān)控頁(yè)面StatViewServlet對(duì)象和WebViewFilter到Spring容器中。
這里的話使用Druid啟動(dòng)器進(jìn)行集成。
1. 在 Spring Boot 項(xiàng)目中加入druid-spring-boot-starter依賴
Maven
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.17</version> </dependency>
Gradle
compile 'com.alibaba:druid-spring-boot-starter:1.1.17'
2. 添加基本配置
在SpringBoot中配置文件中加入如下配置,就可以使用Druid連接池了
spring.datasource.url=jdbc:MySQL://192.168.56.102:3306/demos?useSSL=false&serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8spring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.type=com.alibaba.druid.pool.DruidDataSource
上面兩步就可以在項(xiàng)目中簡(jiǎn)單使用Druid連接池了,下面是數(shù)據(jù)庫(kù)連接池?cái)U(kuò)展配置和監(jiān)控配置
3. 添加數(shù)據(jù)庫(kù)連接擴(kuò)展配置
# 初始化大小,最小,最大 spring.datasource.initialSize=5 spring.datasource.minIdle=5 spring.datasource.maxActive=20 # 配置獲取連接等待超時(shí)的時(shí)間 spring.datasource.maxWait=60000 # 配置間隔多久才進(jìn)行一次檢測(cè),檢測(cè)需要關(guān)閉的空閑連接,單位是毫秒 spring.datasource.timeBetweenEvictionRunsMillis=60000 # 配置一個(gè)連接在池中最小生存的時(shí)間,單位是毫秒 spring.datasource.minEvictableIdleTimeMillis=300000 spring.datasource.validationQuery=SELECT 1 FROM DUAL spring.datasource.testWhileIdle=true spring.datasource.testOnBorrow=false spring.datasource.testOnReturn=false # 打開(kāi)PSCache,并且指定每個(gè)連接上PSCache的大小 spring.datasource.poolPreparedStatements=true spring.datasource.maxPoolPreparedStatementPerConnectionSize=20 # 通過(guò)connectProperties屬性來(lái)打開(kāi)mergeSql功能;慢SQL記錄 spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
4. 添加Druid的監(jiān)控配置
# 配置多個(gè)使用英文逗號(hào)隔開(kāi),常用的有stat,wall,loj4j,slf4j等spring.datasource.druid.filters=stat # StatViewServlet配置,說(shuō)明請(qǐng)參考Druid Wiki,配置_StatViewServlet配置 spring.datasource.druid.stat-view-servlet.enabled=true spring.datasource.druid.stat-view-servlet.url-pattern=/druid/* spring.datasource.druid.stat-view-servlet.login-username=admin spring.datasource.druid.stat-view-servlet.login-password=123456 spring.datasource.druid.stat-view-servlet.allow=127.0.0.1 # WebStatFilter配置,說(shuō)明請(qǐng)參考Druid Wiki,配置_配置WebStatFilter spring.datasource.druid.web-stat-filter.enabled= true spring.datasource.druid.web-stat-filter.url-pattern=/* spring.datasource.druid.web-stat-filter.exclusions='*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'
配置好后,項(xiàng)目啟動(dòng)之后,就可以打開(kāi)Druid的監(jiān)控界面:http://localhost:8080/druid/index.html 會(huì)要求你進(jìn)行登錄,上面設(shè)置的是admin/123456
登錄后來(lái)到監(jiān)控界面,可以查看數(shù)據(jù)路連接池信息,請(qǐng)求信息,SQL執(zhí)行記錄
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
本文標(biāo)題:SpringBoot集成Druid過(guò)程解析
標(biāo)題路徑:http://jinyejixie.com/article38/psijpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開(kāi)發(fā)、電子商務(wù)、網(wǎng)站收錄、App設(shè)計(jì)、網(wǎng)站改版、網(wǎng)站營(yíng)銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)