springboot整合德鲁伊

1.在yml中配置

导入jdbc,德鲁伊以及Log4j的maven依赖

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: oracle.jdbc.driver.OracleDriver
    username: scott
    password: 123456
    url: jdbc:oracle:thin://localhost:1521:orcl
    #SpringBoot默认是不注入这些的,需要自己绑定
    #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.Properity
    #则导入log4j 依赖就行
    filters: stat,wall,log4j
    maxPoolPreparedStatementPerConnectionSize: 20
    useGlobalDataSourceStat: true
    connectionoProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

2.写一个配置类

package com.sx.config;

import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.servlet.Filter;
import javax.sql.DataSource;
import java.util.HashMap;

/**
* @Author SX
* @Date 2020/10/27 9:16
* 德鲁伊连接池配置
**/
@Configuration
public class DruidConfig {
 @ConfigurationProperties(prefix = "spring.datasource")  //与yml的配置绑定
 @Bean//注入到spring容器中
 public DataSource DruidDataSource() {


     return new DruidDataSource();
 }

 //后台监控
 @Bean
 public ServletRegistrationBean startViewServlet() {
     ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*");
     HashMap<String, String> initParameters = new HashMap<>();
     //设置后台的账号密码
     initParameters.put("loginUsername", "sx");
     initParameters.put("loginPassword", "123456");
     //允许所有的人访问
     initParameters.put("allow", "");
     bean.setInitParameters(initParameters);
     return bean;
 }

 /**
  * 配置过滤器过滤哪些请求
  *
  * @return
  */
 @Bean
 public FilterRegistrationBean WebStatFilter() {
     FilterRegistrationBean<Filter> bean = new FilterRegistrationBean<>();
     bean.setFilter(new WebStatFilter());
     HashMap<String, String> initParameters = new HashMap<>();
     initParameters.put("exclusions", "*.js,*.css,/druid/");
     bean.setInitParameters(initParameters);
     return bean;
 }

}

关键词
ServletRegistrationBean 后台监控
FilterRegistrationBean 过滤器

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值