zoukankan      html  css  js  c++  java
  • SpringBoot学习笔记(7):Druid使用心得

    SpringBoot学习笔记(7):Druid使用心得

    快速开始

    添加依赖

    	<dependency>
    		<groupId>com.alibaba</groupId>
    		<artifactId>druid</artifactId>
    		<version>${druid-version}</version>
    	</dependency>

    配置属性

    JDBC配置

    spring.datasource.druid.url= # 或spring.datasource.url= 
    spring.datasource.druid.username= # 或spring.datasource.username=
    spring.datasource.druid.password= # 或spring.datasource.password=
    spring.datasource.druid.driver-class-name= #或 spring.datasource.driver-class-name=

    连接池配置

    spring.datasource.druid.initial-size=
    spring.datasource.druid.max-active=
    spring.datasource.druid.min-idle=
    spring.datasource.druid.max-wait=
    spring.datasource.druid.pool-prepared-statements=
    spring.datasource.druid.max-pool-prepared-statement-per-connection-size= 
    spring.datasource.druid.max-open-prepared-statements= #和上面的等价
    spring.datasource.druid.validation-query=
    spring.datasource.druid.validation-query-timeout=
    spring.datasource.druid.test-on-borrow=
    spring.datasource.druid.test-on-return=
    spring.datasource.druid.test-while-idle=
    spring.datasource.druid.time-between-eviction-runs-millis=
    spring.datasource.druid.min-evictable-idle-time-millis=
    spring.datasource.druid.max-evictable-idle-time-millis=
    spring.datasource.druid.filters= #配置多个英文逗号分隔

    监控配置

    # WebStatFilter配置,说明请参考Druid Wiki,配置_配置WebStatFilter
    spring.datasource.druid.web-stat-filter.enabled= #是否启用StatFilter默认值true
    spring.datasource.druid.web-stat-filter.url-pattern=
    spring.datasource.druid.web-stat-filter.exclusions=
    spring.datasource.druid.web-stat-filter.session-stat-enable=
    spring.datasource.druid.web-stat-filter.session-stat-max-count=
    spring.datasource.druid.web-stat-filter.principal-session-name=
    spring.datasource.druid.web-stat-filter.principal-cookie-name=
    spring.datasource.druid.web-stat-filter.profile-enable=
    
    # StatViewServlet配置,说明请参考Druid Wiki,配置_StatViewServlet配置
    spring.datasource.druid.stat-view-servlet.enabled= #是否启用StatViewServlet默认值true
    spring.datasource.druid.stat-view-servlet.url-pattern=
    spring.datasource.druid.stat-view-servlet.reset-enable=
    spring.datasource.druid.stat-view-servlet.login-username=
    spring.datasource.druid.stat-view-servlet.login-password=
    spring.datasource.druid.stat-view-servlet.allow=
    spring.datasource.druid.stat-view-servlet.deny=
    
    # Spring监控配置,说明请参考Druid Github Wiki,配置_Druid和Spring关联监控配置
    spring.datasource.druid.aop-patterns= # Spring监控AOP切入点,如x.y.z.service.*,配置多个英文逗号分隔

    简单配置示例

    # 配置数据源
    spring.datasource.url=jdbc:mysql://127.0.0.1:3306/gongxiao?useUnicode=true&characterEncoding=utf8
    spring.datasource.username=root
    spring.datasource.password=123456
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    
    # 连接池配置
    spring.datasource.druid.initial-size=5
    spring.datasource.druid.max-active=2335
    spring.datasource.druid.max-wait=100
    spring.datasource.druid.test-on-borrow=true

    如何在Spring Boot中集成Druid连接池和监控?

    SpringBoot添加Filter或者Servlet

      在SpringBoot中,有两种方式可以添加Servlet/Filter/Listener到应用中。

    方法1:通过使用Spring Bean添加

      要使用Spring bean添加Servlet,Filter或Servlet * Listener,必须为其提供一个@Bean定义

      对于Filters和Servlet,您还可以添加映射和初始化参数,方法是添加FilterRegistrationBean或ServletRegistrationBean,而不是或添加到基础组件。

    @Bean
    public FilterRegistrationBean registration(MyFilter filter) {
    	FilterRegistrationBean registration = new FilterRegistrationBean(filter);
    	registration.setEnabled(false);
    	return registration;
    }

    说明

      registration.setEnabled(false);可以将配置设置为禁用状态。

    方法2:通过使用类路径扫描添加

    @WebServlet,@WebFilter和@WebListener带注释的类可以通过使用@ServletComponentScan注释@Configuration类并指定包含要注册的组件的包来自动向嵌入式servlet容器注册。 默认情况下,@ServletComponentScan从注释类的包中进行扫描。

    配置监控页面

        @Bean
        public ServletRegistrationBean druidServlet()
        {
            ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean();
            servletRegistrationBean.setServlet(new StatViewServlet());
            servletRegistrationBean.addUrlMappings("/druid/*");
            Map<String, String> initParameters = new HashMap<String, String>();
            initParameters.put("loginUsername", "admin");// 用户名
            initParameters.put("loginPassword", "123456");// 密码
            initParameters.put("resetEnable", "false");// 禁用HTML页面上的“Reset All”功能
            initParameters.put("allow", ""); // IP白名单 (没有配置或者为空,则允许所有访问)
            //initParameters.put("deny", "192.168.20.38");// IP黑名单 (存在共同时,deny优先于allow)
            servletRegistrationBean.setInitParameters(initParameters);
            return servletRegistrationBean;
        }

    访问监控页面

    配置数据库密码加密

    防御SQL注入攻击

    输入SQL执行信息

  • 相关阅读:
    LightOJ
    Peter and Snow Blower
    Gena's Code
    nyoj139--我排第几个 (康拓展开)
    hdoj1394(归并排序)
    树状数组
    Poj 1113--Wall(凸集)
    hdoj1437 -- 天气情况
    hdoj1428 -- 漫步校园 (记忆化搜索)
    图像边缘检测
  • 原文地址:https://www.cnblogs.com/MrSaver/p/8614848.html
Copyright © 2011-2022 走看看