• 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. }

     

  • 相关阅读:
    MATLAB命令
    HashMap JDK1.7与1.8的区别
    Windows下安装Anaconda、Pycharm以及iflycode插件图解
    凹凸贴图如何提高物体的真实感
    电容元件符号与工作原理:电子电路中的电荷储存利器 | 百能云芯
    PyQt5快速开发与实战 7.4 事件处理机制入门 and 7.5 窗口数据传递
    vue3+ts+uniapp实现小程序端input获取焦点计算上推页面距离
    【点云处理】点云法向量估计及其加速(5)
    RUST与Python对比分析
    SQL基础练习题1
  • 原文地址:https://blog.csdn.net/weixin_53150299/article/details/133657127