代码如下:
- pom.xml中导入对应的jar包
com.alibaba
druid
1.2.4
log4j
log4j
1.2.17
mysql
mysql-connector-java
>runtime
org.springframework.boot
spring-boot-starter-jdbc
- 切换数据源;Spring Boot 2.0 以上默认使用 com.zaxxer.hikari.HikariDataSource 数据源,可以通过 spring.datasource.type 指定数据源
spring:
datasource:
username: root
password: root
url: jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
driver-class-name: com.mysql.jdbc.Driver
#
type: com.alibaba.druid.pool.DruidDataSource#Spring Boot 默认是不注入这些属性值的,需要自己绑定
#druid 数据源专有配置
initialSize: 5
minIdle: 5
maxActive: 20
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true#配置监控统计拦截的filters,stat:监控统计、log4j:日志记录、wall:防御sql注入
#如果允许时报错java.lang.ClassNotFoundException: org.apache.log4j.Priority
#则导入 log4j 依赖即可,Maven 地址:https://mvnrepository.com/artifact/log4j/log4j
filters: stat,wall,log4j
maxPoolPreparedStatementPerConnectionSize: 20
useGlobalDataSourceStat: true
connectionProperties: druid.stat.mergeSql=true;
druid.stat.slowSqlMillis=500
- 由于spring默认不是注入druid配置属性,所以编写配置类手动绑定DruidDataSource 全局配置文件中的参数,日志监控也需要配置访问路径等,代码如下:
@Configuration
public class MyConfig {
//-----------------------------------绑定配置文件-----------------------------------------
@Bean//添加到spring容器中,只有在spring容器中,才能使用spring强大的功能,如:配置绑定
@ConfigurationProperties(prefix = "spring.datasource")//绑定配置文件 spring,datasource开头的数据
public DruidDataSource druidDataSource(){
return new DruidDataSource();
}
//--------------------------以下为 druid日志监控配置(死配置)-----------------------------------------
/**
* StatViewServlet 的父类 ResourceServlet中存在配置参数
* ServletRegistrationBean 的父类 DynamicRegistrationBean中存在设置初始化参数的方法
* @return
*/
@Bean
public ServletRegistrationBean statViewServlet(){//控制器注册bean传入 统计视图控制器、访问路径
ServletRegistrationBean> servletRegistrationBean = new ServletRegistrationBean<>(new StatViewServlet(),"/druid/*");
Map, String> initParameters = new HashMap,String>();
initParameters.put("loginUsername","admin");
initParameters.put("loginPassword","123123");
//allow:允许哪个ip访问
//deny:禁止哪个ip访问
initParameters.put("allow","127.0.0.1");
servletRegistrationBean.setInitParameters(initParameters);
return servletRegistrationBean;
}
}
- 启动服务 访问 http://localhost:8080/druid
文章图片
文章图片
推荐阅读
- JAVA|SpringBoot配置druid连接池
- SSM|SpringMVC拦截器 & SpringMVC异常处理
- java|卷积神经网络改进想法初探(备份)
- 安全与认证|原代码审计笔记-安全缺陷
- java|Java技术之高频面试题
- Kotlin|浅谈Android dataBinding使用
- 微服务Springcloud|微服务 - gateway网关配置
- 数据库|MySQL与Redis缓存的同步方案
- 设计模式|观察者(observer)模式(一)