更新時間:2022-08-16 07:49:42 來源:動力節點 瀏覽4438次
Druid Spring Boot Starter 用于幫助您在 Spring Boot 項目中輕松集成 Druid 數據庫連接池和監控。
將 druid-spring-boot-starter 依賴添加到 Spring Book 項目中
<依賴>
< groupId > com.alibaba </ groupId >
< artifactId > druid-spring-boot-starter </ artifactId >
< version > 1.1.5 </ version >
</ dependency >
編譯 'com.alibaba:druid-spring-boot-starter:1.1.5'
添加配置
xml
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
#... 其他配置(可選,非必須,使用嵌入式數據庫,以上三項也可省略填寫)
Druid Spring Boot Starter 配置屬性的名稱完全符合 Druid??梢酝ㄟ^ Spring Boot 配置文件配置 Druid 數據庫連接池和監控,如果沒有則使用默認值。
JDBC 配置
spring.datasource.druid.url= # 或者 spring.datasource.url=
spring.datasource.druid.username= # 或者 spring.datasource.username=
spring.datasource.druid.password= # 或者 spring.datasource.password=
spring.datasource.druid.driver-class-name= #或者 spring.datasource.driver-class-name=
連接池配置
spring .datasource .druid .initial -size=
spring .datasource .druid .max -active =
spring .datasource .druid .min -idle=
spring .datasource .druid .max -wait=
spring .datasource .druid .pool -prepared-statements=
spring .datasource .druid .max -pool-prepared-statement-per-connection-size=
spring .datasource .druid .max -open -prepared-statements= #相當于上面的
spring .datasource .druid .validation -query =
spring .datasource .druid .validation -query -timeout=
spring .datasource .druid .test -on-borrow=
spring .datasource .druid .test -on-return=
spring .datasource .druid .test -while -idle=
spring .datasource .druid .time -between -eviction-runs-millis=
spring .datasource .druid .min -evictable-idle-time-millis=
spring .datasource .druid .max -evictable-idle-time-millis=
spring .datasource .druid .filters = #配置多個英文逗號分隔符
....//more
監控配置
# WebStatFilter配置,參考Druid Wiki,配置_configure WebStatFilter
spring .datasource .druid .web -stat-filter .enabled = #StatFilter默認值是否開啟
spring .datasource .druid .web -stat-filter .url -模式=
spring .datasource .druid .web -stat-filter .exclusions =
spring .datasource .druid .web -stat-filter .session -stat-enable=
spring .datasource .druid .web -stat-filter .session -stat-max-count=
spring .datasource .druid .web -stat-filter .principal -session-name=
spring .datasource .druid .web -stat-filter .principal -cookie-name=
spring .datasource .druid .web -stat-filter .profile -enable=
# StatViewServlet 配置,參考Druid Wiki,配置_StatViewServlet 配置
spring .datasource .druid .stat -view-servlet .enabled = #StatViewServlet 默認值是否開啟
spring .datasource .druid .stat -view-servlet 。網址-模式=
spring .datasource .druid .stat -view-servlet .reset -enable=
spring .datasource .druid .stat -view-servlet .login -username=
spring .datasource .druid .stat -view-servlet .login -password=
spring .datasource .druid .stat -view-servlet .allow =
spring .datasource .druid .stat -view-servlet .deny =
# Spring監控配置,請參考Druid Github Wiki,配置_Druid和Spring關聯監控配置
spring .datasource .druid .aop -patterns= # Spring監控AOP入口點,如xyzservice。*, 并配置多個英文逗號
分隔 # 如果spring.datasource.druid.aop-patterns要代理的類沒有定義接口,設置spring.aop.proxy-target-class=true
Druid Spring Boot Starter 不限于支持上述配置屬性。將支持DruidDataSource內部提供 setter 方法的可配置屬性。您可以查閱 WIKI 文檔或通過 IDE 輸入提示進行配置。您可以選擇配置文件格式。屬性或。yml,效果是一樣的,在配置較多的情況下推薦使用。yml。
添加配置
spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
# Druid 數據源配置,繼承spring.datasource。* 配置,并覆蓋相同
...
spring.datasource.druid.initial-size=5
spring.datasource.druid.max-active=5
...
# Druid Data Source 1配置,繼承spring.datasource.druid。* 配置,并覆蓋相同
...
spring.datasource.druid.one.max-active=10
spring.datasource.druid.one.max-wait=10000
...
# Druid Data Source 2配置,繼承spring.datasource.druid。* 配置,并覆蓋相同
...
spring.datasource.druid.two.max-active=20
spring.datasource.druid.two.max-wait=20000
...
創建數據源
@Primary
@Bean
@ConfigurationProperties ( "spring.datasource.druid.one" )
public DataSource dataSourceOne (){
return DruidDataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties ( "spring.datasource.druid.two" )
public DataSource dataSourceTwo (){
return DruidDataSourceBuilder.create().build();
}
可以通過 spring.datasource.druid.filters=stat,wall,log4j... 啟用對應的內置過濾器,但是這些過濾器都是默認配置。如果默認配置不能滿足你的需求,你可以放棄這種方式,通過配置文件配置Filter。這是一個例子。
# 配置統計過濾器
spring.datasource.druid.filter.stat.db-type=h2
spring.datasource.druid.filter.stat.log-slow-sql=true
spring.datasource.druid.filter.stat.slow-sql-millis=2000
# 配置墻過濾器
spring.datasource.druid.filter.wall.enabled=true
spring.datasource.druid.filter.wall.db-type=h2
spring.datasource.druid.filter.wall.config.delete-allow=false
spring.datasource.druid.filter.wall.config.drop-table-allow=false
# 其他過濾器配置不再演示
當前為以下過濾器提供了配置支持,無論是在文檔中還是根據 IDE 提示符(spring.datasource.druid.filter.*)。
- StatFilter
- WallFilter
- ConfigFilter
- EncodingConvertFilter
- Slf4jLogFilter
- Log4jFilter
- Log4j2Filter
- CommonsLogFilter
要使自定義過濾器配置起作用,您需要將相應過濾器的啟用設置為true。Druid Spring Boot Starter 默認會啟用 StatFilter。您還可以將其啟用設置為 false 以禁用它。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習