druid 参数配置详解以及作用请查看:
https://blog.csdn.net/qiaziliping/article/details/79991654
总体文件截图如下
1、pom.xml添加druid依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
</dependency>
<!-- spring-boot-configuration-processor是处理配置文件的一个工具包 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>
2、application.properties druid的属性配置
注:数据库密码是加密的
#--------------DB---druid--连接池--Configuration:
spring.datasource.type = com.alibaba.druid.pool.DruidDataSource
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.druid.url = jdbc:mysql://localhost:3306/bc_diagdevice?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.druid.username = root
#spring.datasource.password = lp123
spring.datasource.druid.password = n8L/VUyTwsoIRB0iIllpu3HfFrAt33VRt1Q1QHPL9Bq754SNhmGgniKVlYPjYnH0TanYCdOniC+ezv42a5OPiA==
spring.datasource.druid.publickey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALgtN0soJa/M6CpSLrHIsjWObThwPSE2xMeJU67qyvSifOeeHrFVMtcF5vjBIcyw8EvcIhFTdMSou7VQ7dBWVgMCAwEAAQ==
spring.datasource.druid.initialSize: 5
spring.datasource.druid.minIdle: 5
spring.datasource.druid.maxActive: 20
spring.datasource.druid.maxWait: 60000
spring.datasource.druid.timeBetweenEvictionRunsMillis: 60000
spring.datasource.druid.minEvictableIdleTimeMillis: 300000
spring.datasource.druid.validationQuery: SELECT 1 FROM DUAL
spring.datasource.druid.testWhileIdle: true
spring.datasource.druid.testOnBorrow: false
spring.datasource.druid.testOnReturn: false
# 打开PSCache,并且指定每个连接上PSCache的大小
spring.datasource.druid.poolPreparedStatements: true
spring.datasource.druid.maxPoolPreparedStatementPerConnectionSize: 20
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
spring.datasource.druid.filters: stat,wall,config
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
spring.datasource.druid.connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000;config.decrypt=true;config.decrypt.key=${spring.datasource.druid.publickey}
spring.datasource.druid.filter.stat.enabled=true
#webstat 统计功能
spring.datasource.druid.web-stat-filter.enabled=true
#排除一些不必要的url,比如.js,/jslib/等等
spring.datasource.druid.web-stat-filter.exclusions=*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*
#statview
spring.datasource.druid.stat-view-servlet.enabled=true
#IP白名单
#spring.datasource.druid.stat-view-servlet.allow=127.0.0.1
#IP黑名单(共同存在时,deny优先于allow)
#spring.datasource.druid.stat-view-servlet.deny: 192.168.0.10
#控制台管理用户
spring.datasource.druid.stat-view-servlet.login-username=admin1
spring.datasource.druid.stat-view-servlet.login-password=admin1
#是否能够重置数据 禁用HTML页面上的“Reset All”功能
spring.datasource.druid.stat-view-servlet.reset-enable=false
#--------------DB---druid--连接池--Configuration-----------------end
3、bean文件
import javax.sql.DataSource;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
@Configuration
public class DruidDBConfig {
//spring.datasource.druid是properties文件里面配置的前缀
@Bean
@ConfigurationProperties("spring.datasource.druid")
public DataSource dataSource() {
return DruidDataSourceBuilder.create().build();
}
}