springboot~集成DataSource 與 Druid監控配(pei)置
介紹
Druid首先是一個數(shu)據庫(ku)連(lian)接(jie)(jie)池。Druid是目前最(zui)好的數(shu)據庫(ku)連(lian)接(jie)(jie)池,在功能(neng)、性能(neng)、擴展性方面,都(dou)超(chao)過(guo)(guo)其(qi)他(ta)數(shu)據庫(ku)連(lian)接(jie)(jie)池,Druid已經(jing)(jing)在阿里巴(ba)巴(ba)部署了超(chao)過(guo)(guo)600個應用,經(jing)(jing)過(guo)(guo)一年多生產環境(jing)大規模部署的嚴(yan)苛考驗(yan)。
功能
Druid提(ti)供了一(yi)個高效(xiao)、功能(neng)強(qiang)大(da)、可(ke)擴展(zhan)性(xing)好(hao)(hao)的(de)(de)(de)數(shu)(shu)據(ju)庫(ku)連接(jie)池。可(ke)以(yi)監控(kong)數(shu)(shu)據(ju)庫(ku)訪問性(xing)能(neng),Druid內(nei)置(zhi)提(ti)供了一(yi)個功能(neng)強(qiang)大(da)的(de)(de)(de)StatFilter插(cha)件,能(neng)夠詳細統計SQL的(de)(de)(de)執行(xing)性(xing)能(neng),這(zhe)對于線(xian)上分(fen)析數(shu)(shu)據(ju)庫(ku)訪問性(xing)能(neng)有幫助。數(shu)(shu)據(ju)庫(ku)密碼加(jia)密。直接(jie)把數(shu)(shu)據(ju)庫(ku)密碼寫在配(pei)置(zhi)文件中,這(zhe)是不好(hao)(hao)的(de)(de)(de)行(xing)為,容易導致安(an)全問題。DruidDruiver和DruidDataSource都支持PasswordCallback。SQL執行(xing)日志,Druid提(ti)供了不同的(de)(de)(de)LogFilter,能(neng)夠支持Common-Logging、Log4j和JdkLog,你(ni)可(ke)以(yi)按需要選擇相(xiang)應(ying)的(de)(de)(de)LogFilter,監控(kong)你(ni)應(ying)用(yong)的(de)(de)(de)數(shu)(shu)據(ju)庫(ku)訪問情況。擴展(zhan)JDBC,如(ru)果你(ni)要對JDBC層有編程(cheng)的(de)(de)(de)需求(qiu),可(ke)以(yi)通過Druid提(ti)供的(de)(de)(de)Filter機(ji)制(zhi),很方便編寫JDBC層的(de)(de)(de)擴展(zhan)插(cha)件。
添加到項目里
添加引用
<!--druid 依賴-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.9</version>
</dependency>
添加配置文件
spring:
datasource:
druid:
stat-view-servlet:
enabled: true
loginUsername: admin
loginPassword: 123456
allow:
web-stat-filter:
enabled: true
dynamic:
druid: # 全局druid參數,絕大部分值和默認保持一致。(現已支持的參數如下,不清楚含義不要亂設置)
# 連接池的配置信息
# 初始化大小,最小,最大
initial-size: 5
min-idle: 5
maxActive: 20
# 配置獲取連接等待超時的時間
maxWait: 60000
# 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一個連接在池中最小生存的時間,單位是毫秒
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
# 打開PSCache,并且指定每個連接上PSCache的大小
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
# 配置監控統計攔截的filters,去掉后監控界面sql無法統計,'wall'用于防火墻
filters: stat,wall,slf4j
# 通過connectProperties屬性來打開mergeSql功能;慢SQL記錄
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
datasource:
master:
url: jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false
username: root
password: 123456
driver-class-name: com.mysql.jdbc.Driver
#mybatis plus 設置
mybatis-plus:
mapper-locations: classpath*:com/lind/jeecgdemo/modules/**/mapper/xml/*Mapper.xml
global-config:
# 關閉MP3.0自帶的banner
banner: false
db-config:
#主鍵類型 0:"數據庫ID自增",1:"該類型為未設置主鍵類型", 2:"用戶輸入ID",3:"全局唯一ID (數字類型唯一ID)", 4:"全局唯一ID UUID",5:"字符串全局唯一ID (idWorker 的字符串表示)";
id-type: 4
# 默認數據庫表下劃線命名
table-underline: true
啟動項目后訪問地址
可以看(kan)到數據(ju)源,SQL監控,Spring監控等(deng)很多信息。