栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot 整合 druid连接池配置及监控

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot 整合 druid连接池配置及监控

pom文件


  
            com.alibaba
            druid
            1.1.20
        
        
            com.alibaba
            druid-spring-boot-starter
            1.1.10
        
        
            log4j
            log4j
            1.2.17
        

yml
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    url: 
    username: 
    password:
    driver-class-name: com.mysql.cj.jdbc.Driver
    ##初始连接数,默认0
    initialSize: 10
    #最大连接数,默认8
    maxActive: 30
    #最小连接数,
    minIdle: 10
    #获取连接的最大等待时间,单位毫秒
    maxWait: 2000
    #缓存PreparedStatement,默认false  预编译 防注入
    poolPreparedStatements: true
    #缓存PreparedStatement的最大数量,默认-1(不缓存)。大于0时会自动开启缓存 PreparedStatement,所以可以省略上一句设置
    maxOpenPreparedStatements: 20
    filters: stat,wall,log4j
Config
@ConfigurationProperties("spring.datasource")  //指定前缀
@Configuration  //也可以使用@Configuration,@Configuration包含了@Component
@Data
public class DruidConfig {
    //属性名要与springboot配置文件中属性名一致
    private String url;
    private String driverClassName;
    private String username;
    private String password;
    private int initialSize;
    private int maxActive;
    private int minIdle;
    private int maxWait;
    private boolean poolPreparedStatements;
    private int maxOpenPreparedStatements;
    private String filters;

    @Bean  //放到Spring容器中
    // @Primary  //声明为主数据源,如果配置了多个数据源,未显式指定使用哪个数据源时,自动使用主数据源
    public DataSource dataSource() throws SQLException {
        DruidDataSource datasource = new DruidDataSource();
        datasource.setUrl(url);
        datasource.setDriverClassName(driverClassName);
        datasource.setUsername(username);
        datasource.setPassword(password);
        datasource.setInitialSize(initialSize);
        datasource.setMaxActive(maxActive);
        datasource.setMinIdle(minIdle);
        datasource.setMaxWait(maxWait);
        datasource.setPoolPreparedStatements(poolPreparedStatements);
        datasource.setMaxOpenPreparedStatements(maxOpenPreparedStatements);
        datasource.setFilters(filters);

        return datasource;
    }
    @Bean
    public ServletRegistrationBean setStatViewServlet(){
        ServletRegistrationBean beanServlet = new ServletRegistrationBean(new StatViewServlet(), "/druid
        beanServlet.setInitParameters(initParams);
        return  beanServlet;
    }


    //注册一个filters
    @Bean
    public FilterRegistrationBean webStatFilter(){
        FilterRegistrationBean registrationBean = new FilterRegistrationBean();
        registrationBean.setFilter(new WebStatFilter());

        Map initParams = new HashMap<>();
        initParams.put("exclusions", "*.js,*.css,/druid/*");
        registrationBean.setInitParameters(initParams);
        registrationBean.setUrlPatterns(Arrays.asList("/*"));

        return registrationBean;
    }
}

监控地址  http://localhost:8911/druid/sql.html


 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/531131.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号