Springboot学习07-数据源Druid

关键字

  Druid

前言

  学习笔记

正文

1-Druid是什么

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

2-Springboot引入Druid

2-1-maven依赖

  1. <!--引入druid数据源-->
  2. <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
  3. <dependency>
  4. <groupId>com.alibaba</groupId>
  5. <artifactId>druid</artifactId>
  6. <version>1.1.8</version>
  7. </dependency>

2-2-application.propertites配置

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

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

  1. @Configuration
  2. public class DruidConfiguration {
  3.  
  4. @ConfigurationProperties(prefix = "spring.datasource")
  5. @Bean
  6. public DataSource druid(){
  7. return new DruidDataSource();
  8. }
  9.  
  10. //配置
  11. //1、配置一个管理后台的Servlet
  12. @Bean
  13. public ServletRegistrationBean statViewServlet(){
  14. ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
  15. Map<String,String> initParams = new HashMap<>();
  16.  
  17. initParams.put("loginUsername","admin");//后台登陆账号
  18. initParams.put("loginPassword","admin");//后台登陆密码
  19. initParams.put("allow","");//默认就是允许所有访问
  20. //initParams.put("deny","192.168.31.92");//禁止访问的IP
  21.  
  22. bean.setInitParameters(initParams);
  23. return bean;
  24. }
  25.  
  26. //2、配置一个web监控的filter
  27. @Bean
  28. public FilterRegistrationBean webStatFilter(){
  29. FilterRegistrationBean bean = new FilterRegistrationBean();
  30. bean.setFilter(new WebStatFilter());
  31.  
  32. Map<String,String> initParams = new HashMap<>();
  33. initParams.put("exclusions","*.js,*.css,/druid/*");
  34.  
  35. bean.setInitParameters(initParams);
  36.  
  37. bean.setUrlPatterns(Arrays.asList("/*"));
  38.  
  39. return bean;
  40. }
  41. }

2-5-实际效果

参考文献

1-https://blog.yoodb.com/sugarliny/article/detail/1495

2-https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatFilter

Springboot学习07-数据源Druid的更多相关文章

  1. SpringBoot学习之整合Druid的简单应用

    一.Druid介绍 Druid简介 Druid是目前Java语言中最好的数据库连接池之一.结合了 C3P0.DBCP 等 DB 池的优点,同时加入了日志监控.Druid 是一个分布式的.支持实时多维 ...

  2. 尚硅谷springboot学习32-整合druid

    使用druid数据源 配置druid数据源 这里配置的数据源参数并不会生效,因为在DataSourceProperties中并没有这些字段,如果想要生效,必须自己配置druid数据源 @Configu ...

  3. SpringBoot学习之整合Mybatis

    本博客使用IDEA开发工具,通过Maven构建SpringBoot项目,初始化项目添加的依赖有:spring-boot-starter-jdbc.spring-boot-starter-web.mys ...

  4. SpringBoot学习笔记(7):Druid使用心得

    SpringBoot学习笔记(7):Druid使用心得 快速开始 添加依赖 <dependency> <groupId>com.alibaba</groupId> ...

  5. SpringBoot学习笔记:动态数据源切换

    SpringBoot学习笔记:动态数据源切换 数据源 Java的javax.sql.DataSource接口提供了一种处理数据库连接的标准方法.通常,DataSource使用URL和一些凭据来建立数据 ...

  6. springboot学习笔记:9.springboot+mybatis+通用mapper+多数据源

    本文承接上一篇文章:springboot学习笔记:8. springboot+druid+mysql+mybatis+通用mapper+pagehelper+mybatis-generator+fre ...

  7. SpringBoot数据访问之Druid数据源的使用

    数据访问之Druid数据源的使用 说明:该数据源Druid,使用自定义方式实现,后面文章使用start启动器实现,学习思路为主. 为什么要使用数据源: ​ 数据源是提高数据库连接性能的常规手段,数据源 ...

  8. SpringBoot系列之集成Druid配置数据源监控

    SpringBoot系列之集成Druid配置数据源监控 继上一篇博客SpringBoot系列之JDBC数据访问之后,本博客再介绍数据库连接池框架Druid的使用 实验环境准备: Maven Intel ...

  9. springboot添加多数据源连接池并配置Mybatis

    springboot添加多数据源连接池并配置Mybatis 转载请注明出处:https://www.cnblogs.com/funnyzpc/p/9190226.html May 12, 2018  ...

随机推荐

  1. 使用 jest 测试 react component 的配置,踩坑。

    首先安装依赖 npm i jest -g npm i jest babel-jest identity-obj-proxy enzyme enzyme-adapter-react-15.4 react ...

  2. PythonStudy——字典 Dictionary

    # 容器(集合):存放多个值的变量# 单列容器(系统中的单列容器很多):list | tuple# 双列容器(map):只有dict,存放数据 成对出现,dict存放数据采用 key-value键值对 ...

  3. Head First 设计模式 (Eric Freeman / Elisabeth Freeman / Kathy Sierra / Bert Bates 著)

    1. 欢迎来到设计模式世界:设计模式入门 (已看) 策略模式 定义了算法族,分别分装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户. 设计原则 找出应用中可能需要变化之处,把它们 ...

  4. oracle错误汇总1

    这是遇见的第一个整个库正常,但某张表查询报错的情况 某张表数据可以查,但一排序查就报错 select * from acct_daily_bak; select * from acct_daily_b ...

  5. kafka-producer kerberos 原理和配置

    kerberos简单介绍 kerberos这一名词来源于希腊神话“三个头的狗---地狱之门守护者”后来沿用作为安全认证的概念,该系统设计上 采用客户端/服务器结构与DES(Data Encryptio ...

  6. Window离线环境下如何安装pyhanlp

    Hanlp在离线环境下的安装我是没有尝试过的,分享SunJW_2017的这篇文章就是关于如何在离线环境下安装hanlp的.我们可以一起来学习一下! HanLP是一款优秀的中文自然语言处理工具,可以实现 ...

  7. minIni: A minimal INI file parser

    https://www.compuphase.com/minini.htm https://github.com/compuphase/minIni

  8. 在IntelliJ IDEA中使用VIM

    IdeaVim(下载)插件可以让你在IntelliJ IDEA中键盘敲的飞起. 安装 打开IDEA的设置,在Plugins里,你可以选择在线搜索Vim安装,当然如果不行,就可以选择单独下载后安装,以下 ...

  9. Pyspider框架

    1, 2,在ubuntu安装pyspider如果出现pycul的问题 首先执行命令:sudo apt-get install libssl-dev libcurl4-openssl-dev pytho ...

  10. [SQL]触发器把自增ID的值赋值给另外一个字段

    ALTER TRIGGER test_Rate ON dbo.tRate FOR insert AS declare @errno ) begin UPDATE dbo.tRate SET vcUpd ...