博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Springboot学习07-数据源Druid
阅读量:6709 次
发布时间:2019-06-25

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

Springboot学习07-数据源Druid

关键字

   Druid

 

前言

  学习笔记

 

正文

 

1-Druid是什么

 Druid是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池、插件框架和SQL解析器组成。该项目主要是为了扩展JDBC的一些限制,可以让程序员实现一些特殊的需求,比如向密钥服务请求凭证、统计SQL信息、SQL性能收集、SQL注入检查、SQL翻译等,程序员可以通过定制来实现自己需要的功能。

 

2-Springboot引入Druid

2-1-maven依赖

com.alibaba
druid
1.1.8

 2-2-application.propertites配置

# 数据库连接url地址spring.datasource.url=jdbc:mysql://IP:3306/demo# 数据库连接用户名和密码spring.datasource.username=wbcfqspring.datasource.password=wbcfq# 数据源驱动类可不写,Druid默认会自动根据URL识别DriverClassspring.datasource.driver-class-name=com.mysql.jdbc.Driver# 使用druid数据源spring.datasource.type=com.alibaba.druid.pool.DruidDataSource# 初始化大小,最小,最大spring.datasource.initialSize=10spring.datasource.minIdle=10spring.datasource.maxActive=30# 配置获取连接等待超时的时间spring.datasource.maxWait=60000# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒spring.datasource.timeBetweenEvictionRunsMillis=60000# 配置一个连接在池中最小生存的时间,单位是毫秒spring.datasource.minEvictableIdleTimeMillis=300000spring.datasource.validationQuery=SELECT 1 FROM DUALspring.datasource.testWhileIdle=truespring.datasource.testOnBorrow=falsespring.datasource.testOnReturn=false# 打开PSCache,并且指定每个连接上PSCache的大小spring.datasource.poolPreparedStatements=true# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙spring.datasource.filters=stat,wall,log4jspring.datasource.maxPoolPreparedStatementPerConnectionSize=20# 通过connectProperties属性来打开mergeSql功能;慢SQL记录spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000# 合并多个DruidDataSource的监控数据spring.datasource.useGlobalDataSourceStat=true

 2-3-配置Druid的监控(servlet和filter)

@Configurationpublic class DruidConfiguration {    @ConfigurationProperties(prefix = "spring.datasource")    @Bean    public DataSource druid(){       return  new DruidDataSource();    }    //配置    //1、配置一个管理后台的Servlet    @Bean    public ServletRegistrationBean statViewServlet(){        ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");        Map
initParams = new HashMap<>(); initParams.put("loginUsername","admin");//后台登陆账号 initParams.put("loginPassword","admin");//后台登陆密码 initParams.put("allow","");//默认就是允许所有访问 //initParams.put("deny","192.168.31.92");//禁止访问的IP bean.setInitParameters(initParams); return bean; } //2、配置一个web监控的filter @Bean public FilterRegistrationBean webStatFilter(){ FilterRegistrationBean bean = new FilterRegistrationBean(); bean.setFilter(new WebStatFilter()); Map
initParams = new HashMap<>(); initParams.put("exclusions","*.js,*.css,/druid/*"); bean.setInitParameters(initParams); bean.setUrlPatterns(Arrays.asList("/*")); return bean; }}

2-5-实际效果

 

 

 

 

 

参考文献

 1-

2-

转载于:https://www.cnblogs.com/wobuchifanqie/p/10236959.html

你可能感兴趣的文章
mongodb sort
查看>>
crossplatform---Node.js Applications with VS Code
查看>>
winform线程间操作UI的五种方法
查看>>
【第38题】2019年OCP认证12C题库062考试最新考试原题
查看>>
tree
查看>>
4.01 插入新记录
查看>>
Git ignore UserInterfaceState.xcuserstate
查看>>
爬取360摄影美图
查看>>
追女生送什么礼物好,要大全啊大全啊!
查看>>
参考文献人名缩写问题
查看>>
《Unix环境高级编程》读书笔记 第3章-文件I/O
查看>>
LeetCode – Refresh – LRU
查看>>
C# WEB代理
查看>>
Java之线程(0) - 序
查看>>
Manacher算法 - 求最长回文串的利器
查看>>
字符串操作函数的几个基本函数
查看>>
MFC窗口的拆分
查看>>
坐在马桶上看算法:Dijkstra最短路算法
查看>>
C语言第一次博客作业 陈张鑫
查看>>
mysql数据库中导入txt文本数据的方法
查看>>