3、spring boot 配置druid 连接池及监控

本文介绍了如何在Spring Boot项目中集成并配置Druid连接池,包括在`application.properties`中设置启动参数,使用@Configuration + @Bean的方式注册数据源,以及如何配置Druid监控,包括添加WebServlet和过滤器,访问监控页面的URL为http://ip:port/druid/index.html。

 

1、druid githun项目地址

https://github.com/alibaba/druid

https://github.com/alibaba/druid/wiki/常见问题 (必看)

 

2、druid 的过滤器 (重要)

stat,wall,log4j2

stat:Druid内置提供一个StatFilter,用于统计监控信息。

wall:Druid防御SQL注入攻击的WallFilter就是通过Druid的SQL Parser分析。Druid提供的SQL Parser可以在JDBC层拦截SQL做相应处理,比如说分库分表、审计等。

log4j2:这个就是日志记录的功能,可以把sql语句打印到log4j2供排查问题。

 

3、在项目中引入druid maven依赖

4、在application.properties 中配置druid启动参数

druid 参数配置

###### druid 连接池驱动配置信息#############

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

#mysql

#spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver

#spring.datasource.url = jdbc:mysql://localhost:3306/test?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=GMT%2B8

#spring.datasource.username = root

#spring.datasource.password = root

 

#oracle

spring.datasource.url = jdbc:oracle:thin:@//192.168.0.166:1521/PDBFJ

spring.datasource.driverClassName = oracle.jdbc.driver.OracleDriver

spring.datasource.username=basefj

spring.datasource.password=rootroot

#连接池的配置信息

# 初始化大小,最小,最大

spring.datasource.initialSize=5

spring.datasource.minIdle=5

spring.datasource.maxActive=20

# 配置获取连接等待超时的时间

spring.datasource.maxWait=60000

# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒

spring.datasource.timeBetweenEvictionRunsMillis=60000

# 配置一个连接在池中最小生存的时间,单位是毫秒

spring.datasource.minEvictableIdleTimeMillis=300000

#测试连接

#spring.datasource.validationQuery=SELECT 1 FROM DUAL

spring.datasource.validationQuery=SELECT * FROM  SYS_USERS

#申请连接的时候检测,建议配置为true,不影响性能,并且保证安全性

spring.datasource.testWhileIdle=true

#获取连接时执行检测,建议关闭,影响性能

spring.datasource.testOnBorrow=false

#归还连接时执行检测,建议关闭,影响性能

spring.datasource.testOnReturn=false

#是否开启PSCache,PSCache对支持游标的数据库性能提升巨大,oracle建议开启,mysql下建议关闭

spring.datasource.poolPreparedStatements=false

#开启poolPreparedStatements后生效

spring.datasource.maxPoolPreparedStatementPerConnectionSize=20

# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙,log4j2:日志

spring.datasource.filters=stat,wall,log4j2

# 通过connectProperties属性来打开mergeSql功能;慢SQL记录

spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

##日志配置

# 配置日志输出

spring.datasource.druid.filter.slf4j.enabled=true

spring.datasource.druid.filter.slf4j.statement-create-after-log-enabled=false

spring.datasource.druid.filter.slf4j.statement-close-after-log-enabled=false

spring.datasource.druid.filter.slf4j.result-set-open-after-log-enabled=false

spring.datasource.druid.filter.slf4j.result-set-close-after-log-enabled=false

 

5、配置数据源 @Configuration + @Bean 的方式注册

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值