聲明
- 使用的Spring Boot版本爲2.1.0 RELEASE
- 使用的druid爲druid-spring-boot-starter版本爲1.1.9
- 這個集成是按照github上druid spring boot的示例來集成的
開始
添加依賴
parent-pom
<!-- spring boot 對druid的支持 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
target-pom
<!-- spring boot 對druid的支持 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
</dependency>
properties文件配置
application.properties
#JDBC Config
spring.datasource.url=...
spring.datasource.username=...
spring.datasource.password=...
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#Druid Config
#啓用連接池
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#連接池基礎屬性配置
spring.datasource.druid.initial-size=2
spring.datasource.druid.max-active=30
spring.datasource.druid.min-idle=2
spring.datasource.druid.max-wait=1234
spring.datasource.druid.pool-prepared-statements=true
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=5
spring.datasource.druid.validation-query=select 1
spring.datasource.druid.validation-query-timeout=1
spring.datasource.druid.test-on-borrow=true
spring.datasource.druid.test-on-return=true
spring.datasource.druid.test-while-idle=true
spring.datasource.druid.time-between-eviction-runs-millis=10000
spring.datasource.druid.min-evictable-idle-time-millis=30001
spring.datasource.druid.async-close-connection-enable=true
#設置filter
#最後一個可以配置log4j或者slf4j,依賴了哪一個就寫哪一個
spring.datasource.druid.filters=config,stat,wall,slf4j
#開啓慢查詢
spring.datasource.druid.filter.stat.log-slow-sql=true
spring.datasource.druid.filter.stat.slow-sql-millis=2000
#druid spring監控 配置切面的包
spring.datasource.druid.aop-patterns=com.demo.service.*
寫Controller(這一步可要可不要)
/**
* 該方法與Spring Boot集成Druid沒有關係,主要是爲Spring Boot獲取Druid JSON數據做的預留接口
* @author William
*
*/
@RestController
public class DruidStatController {
@GetMapping("/durid/stat")
public Object druidStat(){
// DruidStatManagerFacade#getDataSourceStatDataList 該方法可以獲取所有數據源的監控數據,除此之外 DruidStatManagerFacade 還提供了一些其他方法,你可以按需選擇使用。
return DruidStatManagerFacade.getInstance().getDataSourceStatDataList();
}
}
啓動項目
運行Spring Boot 項目