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

SpringBoot整合Druid数据源

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

SpringBoot整合Druid数据源

文章目录
  • 1. DRUID 简介
  • 2. 配置application.yml 文件
  • 3. Druid配置类
  • 4. 测试

1. DRUID 简介

Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了C3P0、DBCP、PROXOOL等DB池的优点,
同时加入了日志监控

Druid 可以很好的监控DB连接池和SQL的执行情况,天生就是针对监控产生的DB连接池。

SpringBoot 2.0 以上默认使用 Hikar i数据源,可以说 Hikari 与 Druid 都是当前 Java Web 上最优秀的数
据源,本篇重点介绍SpringBoot如何集成Druid数据源。如何实现数据库的监控。

2. 配置application.yml 文件
spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3306/mybatis?useUnicode=true&serverTimezone=UTC&characterEncoding=utf-8
    driver-class-name: com.mysql.cj.jdbc.Driver   //mysql8.0版本以上使用
    type: com.alibaba.druid.pool.DruidDataSource
    # 下面为连接池的补充设置,应用到上面所有数据源中
    # 初始化⼤⼩,最⼩,最⼤
    initial-size: 5
    min-idle: 5
    max-active: 20
    # 配置获取连接等待超时的时间
    max-wait: 60000
    # 配置间隔多久才进⾏⼀次检测,检测需要关闭的空闲连接,单位是毫秒
    time-between-eviction-runs-millis: 60000
    # 配置⼀个连接在池中最⼩⽣存的时间,单位是毫秒
    min-evictable-idle-time-millis: 300000
    validation-query: SELECt 1 FROM DUAL
    test-while-idle: true
    test-on-borrow: false
    test-on-return: false
    # 打开PSCache,并且指定每个连接上PSCache的⼤⼩
    pool-prepared-statements: true
    max-pool-prepared-statement-per-connection-size: 20
    # 配置监控统计拦截的 Filter,去掉后监控界⾯ SQL ⽆法统计,wall ⽤于防⽕墙 ⽇志 log4j
    filters: stat,wall,log4j #导⼊了log4j
    use-global-data-source-stat: true
    # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
    connect-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
3. Druid配置类
@Configuration
public class DruidConfig {

    @ConfigurationProperties(prefix = "spring.datasource")
    @Bean
    public DataSource druidDataSource(){
        return  new DruidDataSource();
    }
    //后台监控
    @Bean
    public ServletRegistrationBean statViewServlet(){
        ServletRegistrationBean bean =
                new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*");
        //后台需要有人登录 账号密码配置
        HashMap initParameters = new HashMap<>();
        //增加配置
        initParameters.put("loginUsername","admin"); //登陆的key  是固定的loginUser , loginPassword
        initParameters.put("loginPassword","123");
        //允许谁可以访问
        initParameters.put("allow","");
        //禁止谁不能访问   initParameters.put("yl","192.168.79.113);
        bean.setInitParameters(initParameters);  //设置初始化参数
        return bean;
    }

    //filter
    public FilterRegistrationBean webStartFilter(){
        FilterRegistrationBean bean = new FilterRegistrationBean();
        bean.setFilter(new WebStatFilter());
        //可以过滤那些请求
        HashMap initParameters = new HashMap<>();
        initParameters.put("exclusions", "*.js,*.css,/druid/*");
        bean.setInitParameters(initParameters);
        return bean;
    }
}
4. 测试

启动SpringBootqom服务
访问 http://localhost:8080/druid
显示登录窗口

登录成功首页

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

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

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