SpringBoot配置Druid数据源

本文档详细介绍了如何在SpringBoot应用中配置Druid数据源,并实现后台监控。配置包括数据源的基本信息如用户名、密码、URL等,以及Druid的初始化大小、最大连接数等参数。此外,还展示了如何设置Druid的监控过滤器和监控页面的登录权限,以及排除某些请求进行统计。
摘要由CSDN通过智能技术生成

application.yaml配置

spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8
    driver-class-name: com.mysql.cj.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
tesOnBorrow: false
tesOnReturn: false
poolPreparedStatements: true

#配置监控统计拦截的filters,stat:监控统计、log4j:日志纪录、wall:防御sql注入
filters: stat,wall,log4j
maxPoolPreparedStatementPerConnectionSize: 20
useGlobalDataSourceStat: true
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

将自配的config与application.yaml进行绑定

@Configuration
public class DruidConfig {
    @ConfigurationProperties(prefix="spring.datasource")
    @Bean
    public DataSource druidDataSource(){
        return new DruidDataSource();
    }
	
//后台监控 : web.xml, ServletRegistrationBean
//因为SpringBoot  内置了 servlet容器,所以没有web.xml 替代方法ServletRegistrationBean
@Bean
public ServletRegistrationBean statViewServlet(){
    ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");

    //后台需要有人登录,账号密码配置
    HashMap<String,String> initParameters = new HashMap<>();

    //增加配置
    initParameters.put("loginUsername","admin");    //登录key是固定的 loginUsername   loginPassword
    initParameters.put("loginPassword","123456");

    //允许谁可以访问
    initParameters.put("allow","");

    //设置初始化参数
    bean.setInitParameters(initParameters);
    return bean;
}

 @Bean
public FilterRegistrationBean webStatFilter(){
    FilterRegistrationBean bean = new FilterRegistrationBean();
    bean.setFilter(new WebStatFilter());
    //可以过滤哪些请求
    Map<String,String> initParameters = new HashMap<String,String>();

    //这些东西不进行统计
    initParameters.put("exclusions","*.js,*.css,/druid/*");

    bean.setInitParameters(initParameters);
    return bean;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值