博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springboot使用druid连接池,并配置数据源监控
阅读量:6699 次
发布时间:2019-06-25

本文共 2311 字,大约阅读时间需要 7 分钟。

首先肯定是引入druid的依赖:

com.alibaba
druid
1.1.10

然后将druid配置到项目中:

在application.yml中加入
spring:    datasource:        type: com.alibaba.druid.pool.DruidDataSource                ###数据源的其他配置        initialSize: 5        minIdle: 5        maxActive: 20        maxWait: 60000        timeBetweenEvictionRunsMillis: 60000        minEvictableIdleTimeMillis: 300000        validationQuery: SELECT 1 FROM DUAL        testWhileIdle: true        testOnBorrow: false        testOnReturn: false        poolPreparedStatements: true        ### 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙        filters: stat,wall,log4j        maxPoolPreparedStatementPerConnectionSize: 20        useGlobalDataSourceStat: true        connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

这里配置好之后,数据源是从默认的tomcat.pool切换到了druid,可是druid的属性比如initialSize、minIdle还未生效,因为在DataSourceProperties.class下没有对应的匹配项,所以还需要我们手动配置:

新建DruidConfig.java
@Configurationpublic class DruidConfig {    // 将所有前缀为spring.datasource下的配置项都加载到DataSource中    @ConfigurationProperties(prefix = "spring.datasource")    @Bean    public DataSource druidDataSource() {        return new DruidDataSource();    }}

至此,Druid的所有配置都已完成,打断点可以看到配置已经生效:

clipboard.png
clipboard.png

最后,需要配置druid的监控页面

在上面的DruidConfig中加入代码:
@Bean    public ServletRegistrationBean druidStatViewServlet() {        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*");        Map
initParams = new HashMap<>(); // 可配的属性都在 StatViewServlet 和其父类下 initParams.put("loginUsername", "admin-druid"); initParams.put("loginPassword", "111111"); servletRegistrationBean.setInitParameters(initParams); return servletRegistrationBean; } @Bean public FilterRegistrationBean druidWebStatFilter() { FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter()); Map
initParams = new HashMap<>(); initParams.put("exclusions", "*.js,*.css,/druid/*"); filterRegistrationBean.setInitParameters(initParams); filterRegistrationBean.setUrlPatterns(Arrays.asList("/*")); return filterRegistrationBean; }

打开浏览器测试输入::8080/druid/login.html

可以看到

clipboard.png

输入我们刚才在servlet中配置的账号密码就可以登录了

转载地址:http://rxmoo.baihongyu.com/

你可能感兴趣的文章
程序员的核心竞争力
查看>>
19.C++-(=)赋值操作符、初步编写智能指针
查看>>
linux上mongodb的安装与卸载
查看>>
tomcat的class加载的优先顺序
查看>>
php课程 4-15 数组遍历、超全局数组、表单提交数据(多看学习视频)
查看>>
header的安全配置指南
查看>>
Android 在 Google 开发者大会上发布了哪些更新? | Google 开发者大会 2018
查看>>
用Kotlin撸一个图片压缩插件-实战篇(三)
查看>>
SpringBoot热部署加持
查看>>
Swift封装 滑出式导航栏
查看>>
深度有趣 | 30 快速图像风格迁移
查看>>
前端技术周刊 2019-01-21:跨端开发的三条路线
查看>>
Fragment结合ViewPager之懒加载
查看>>
Xcode代码提示联想功能失效,按command键点不进去类库,提示“?”
查看>>
RxPermissions 源码解析之举一反三
查看>>
Android App 优化之 ANR 详解
查看>>
结合 category 工作原理分析 OC2.0 中的 runtime
查看>>
初识react(二) 实现一个简版的html+redux.js的demo
查看>>
聊聊技术写作的个人体会
查看>>
前端每周清单第 34 期:Vue 现状盘点与 3.0 展望,React 代码迁移与优化,图片优化详论...
查看>>