• Druid数据库连接池


    1. spring:
    2. datasource:
    3. username: root
    4. password: 19990802
    5. url: jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT
    6. driver-class-name: com.mysql.jdbc.Driver
    7. type: com.alibaba.druid.pool.DruidDataSource
    8. # type可以指定数据源类型
    9. #Spring Boot 默认是不注入这些属性值的,需要自己绑定
    10. #druid 数据源专有配置
    11. initialSize: 5
    12. minIdle: 5
    13. maxActive: 20
    14. maxWait: 60000
    15. timeBetweenEvictionRunsMillis: 60000
    16. minEvictableIdleTimeMillis: 300000
    17. validationQuery: SELECT 1 FROM DUAL
    18. testWhileIdle: true
    19. testOnBorrow: false
    20. testOnReturn: false
    21. poolPreparedStatements: true
    22. #配置监控统计拦截的filters,stat:监控统计、log4j:日志记录、wall:防御sql注入
    23. #如果允许时报错 java.lang.ClassNotFoundException: org.apache.log4j.Priority
    24. #则导入 log4j 依赖即可,Maven 地址:https://mvnrepository.com/artifact/log4j/log4j
    25. filters: stat,wall,log4j
    26. maxPoolPreparedStatementPerConnectionSize: 20
    27. useGlobalDataSourceStat: true
    28. connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
    1. package com.cheng.config;
    2. import com.alibaba.druid.pool.DruidDataSource;
    3. import com.alibaba.druid.support.http.StatViewServlet;
    4. import org.springframework.boot.context.properties.ConfigurationProperties;
    5. import org.springframework.boot.web.servlet.ServletRegistrationBean;
    6. import org.springframework.context.annotation.Bean;
    7. import org.springframework.context.annotation.Configuration;
    8. import javax.sql.DataSource;
    9. import java.util.HashMap;
    10. @Configuration
    11. public class DruidConfig {
    12. @Bean
    13. @ConfigurationProperties(prefix ="spring.datasource")//和配置文件绑定
    14. public DataSource druidDataSource(){
    15. return new DruidDataSource();
    16. }
    17. //获取后台监控
    18. @Bean
    19. //由于 SpringBoot 默认是以 jar 包的方式启动嵌入式的 Servlet 容器来启动 SpringBoot 的 web 应用,没有 web.xml 文件。所以想用使用 Servlet 功能,就必须要借用 Spring Boot 提供的 ServletRegistrationBean 接口。
    20. public ServletRegistrationBean servletRegistration(){
    21. ServletRegistrationBean<StatViewServlet> bean = new ServletRegistrationBean<>(new StatViewServlet(),"/druid/*") //StatViewServlet用于展示Druid的统计信息
    22. //设置后台登录的账户和密码
    23. HashMap<String, String> initParameters = new HashMap<>();
    24. //增加配置 登录的key是固定的
    25. initParameters.put("loginUsername","admin");
    26. initParameters.put("loginPassword","123456");
    27. //设置谁可以访问
    28. initParameters.put("allow","");//任何人都可以访问
    29. //设置初始化参数
    30. bean.setInitParameters(initParameters);
    31. return bean;
    32. }
    33. }

     启动SpringBoot测试,访问http://localhost:8080/druid

    1. @Bean
    2. public FilterRegistrationBean webStartFilter(){
    3. FilterRegistrationBean bean = new FilterRegistrationBean();
    4. bean.setFilter(new WebStatFilter());
    5. //可以过滤的请求
    6. HashMap<String, String> initParameters = new HashMap<>();
    7. //排除一些不必要的url
    8. initParameters.put("exclusions","*.js,*.css,/druid/*");
    9. bean.setInitParameters(initParameters);//设置初始化参数
    10. return bean;
    11. }

     

  • 相关阅读:
    [附源码]java毕业设计基于SSM高考志愿填报系统
    软考软件设计师-计算机组成与体系结构(上
    为什么选择好的指纹浏览器是跨境电商的第一步?
    WPS文件丢失如何恢复?4个方法教你快速恢复!
    DECIMAL 数据处理原理浅析
    分布式定时调度:xxl-job 万字详解
    vscode 1.70变化与关注点(人工折叠/粘性滚动等)
    编译VTK静态库
    Spring Boot Spring Cloud 微服务 分布式项目 实现接口幂等性的 4 种方案
    微信小程序获取蓝牙信标
  • 原文地址:https://blog.csdn.net/weixin_53150299/article/details/133657127