springboot如何集成druid

1.场景还原

     springboot相比mvc来说,在配置上极大的节省了开发者的时间与精力,这无疑对开发者是一种不可抗拒的诱惑,今天笔者就springboot如何集成druid跟大伙作个分享;

2.实现方案

①druid的pom依赖

<!--druid依赖-->
<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>druid-spring-boot-starter</artifactId>
  <version>1.1.4</version>
</dependency>

②application.yml中druid连接池的配置

#datasource
spring:
  datasource:
    druid:
      url: jdbc:mysql://ip/dbname?useUnicode=true&useSSL=false&autoReconnect=true
      username: xxxxxxxxxxx
      password: xxxxxxxxxxxx
      driverClassName: com.mysql.jdbc.Driver
      #最大活跃数
      maxActive: 20
      #初始化数量
      initialSize: 1
      #最大连接等待超时时间
      maxWait: 60000
      #打开PSCache,并且指定每个连接PSCache的大小
      poolPreparedStatements: true
      maxPoolPreparedStatementPerConnectionSize: 20
      #通过connectionProperties属性来打开mergeSql功能;慢SQL记录
      #connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
      minIdle: 1
      timeBetweenEvictionRunsMillis: 60000
      minEvictableIdleTimeMillis: 300000
      validationQuery: select 1 from dual
      testWhileIdle: true
      testOnBorrow: false
      testOnReturn: false
      #配置监控统计拦截的filters,去掉后监控界面sql将无法统计,'wall'用于防火墙
      filters: stat, wall, log4j

③DruidConfiguration配置类的编写

@Slf4j
@Configuration
public class DruidConfiguration {

    @Bean
    public ServletRegistrationBean druidServlet() {
        log.info("init Druid Servlet Configuration ");
        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", "zxp52077");// 密码
         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;
    }

    @Bean
    public FilterRegistrationBean filterRegistrationBean() {
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
        filterRegistrationBean.setFilter(new WebStatFilter());
        filterRegistrationBean.addUrlPatterns("/*");
        filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
        return filterRegistrationBean;
    }

}

3.访问测试


好了,我是张星,欢迎加入博主技术交流群,群号:313145288

猜你喜欢

转载自blog.csdn.net/zhangxing52077/article/details/80230317