当前位置:   article > 正文

Springboot yml配置文件的参数 详解_springboot validation-query

springboot validation-query

Springboot 项目启动之后,我们可以通过Springboot 的application.yml文件来配置数据库连接池等各种各样的属性

先看下这个配置文件是怎么写的(主要是关于数据库连接的)

 

前言:  DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池(据说是目前最好的连接池,不知道速度有没有BoneCP快)。

 

  1. server:
  2. port: 8080
  3. spring:
  4. datasource:
  5. type: com.alibaba.druid.pool.DruidDataSource
  6. druid:
  7. driver-class-name: com.mysql.jdbc.Driver
  8. url: jdbc:mysql://localhost:3306/vcd?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
  9. username: root
  10. password: 123456
  11. max-active: 30
  12. min-idle: 5
  13. validation-query: SELECT 1 FROM DUAL
  14. max-wait: 10000
  15. min-evictable-idle-time-millis: 30000
  16. testWhileIdle: true
  17. testOnBorrow: false
  18. testOnReturn: false
  19. poolPreparedStatements: true
  20. maxPoolPreparedStatementPerConnectionSize: 20
  21. filters: stat,wall,log4j2
  22. connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
  23. web-stat-filter:
  24. enabled: true
  25. url-pattern: "/*"
  26. exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
  27. stat-view-servlet:
  28. url-pattern: "/druid/*"
  29. allow: 0.0.0.0
  30. reset-enable: false
  31. login-username: admin
  32. login-password: admin
  33. thymeleaf:
  34. cache: false # 开发时关闭缓存,不然没法看到实时页面
  35. mode: LEGACYHTML5 # 用非严格的 HTML
  36. servlet:
  37. content-type: text/html

 

1、指定server的接口

  1. server
  2. port:8080

 

2、指定Spring 连接池来源(这个写完之后会提示你导入相应的maven依赖)

  1. spring:
  2. datasource:
  3. type: com.alibaba.druid.pool.DruidDataSource
  4. druid:
  5. driver-class-name: com.mysql.jdbc.Driver
  6. url: jdbc:mysql://localhost:3306/vcd?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
  7. username: root
  8. password: 123456

 

3、设置连接池的连接数量、时间等属性

  1. max-active: 30
  2. min-idle: 5
  3. validation-query: SELECT 1 FROM DUAL
  4. max-wait: 10000
  5. min-evictable-idle-time-millis: 30000

max-active  设置最大数据库连接数,设为0为无限制

min-idle    始终保留在池中的最小连接数,如果连接验证失败将缩小至此值

validation-query   validationQuery是用来验证数据库连接的查询语句,这个查询语句必须是至少返回一条数据的SELECT语句

(这里的validation-query是 mysql中的写法,这个是固定的写法)

max-wait  最大等待时间

min-evictable-idle-time-millis:连接在池中保持空闲而不被回收的最小时间(毫秒)

 

4、连接的动作和设置prepareStatement

  1. testWhileIdle: true
  2. testOnBorrow: false
  3. testOnReturn: false
  4. poolPreparedStatements: true
  5. maxPoolPreparedStatementPerConnectionSize: 20

testWhileIdle    对池中空闲的连接是否进行验证,验证失败则回收此连接(默认为false)

testOnBorrow    当从连接池中取出一个连接时是否进行验证,若验证失败则从池中删除该连接并尝试取出另一个连接

testOnReturn    当一个连接使用完归还到连接池时是否进行验证

poolPreparedStatements    启用游标缓存,这个对数据库的性能提升很大

maxPoolPreparedStatementPerConnectionSize   要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。在Druid中,不会存在Oracle下PSCache占用内存过多的问题,可以把这个数值配置大一些,比如说100

 

5、加入扩展插件

属性类型是字符串,通过别名的方式配置扩展插件,常用的插件有: 
监控统计用的filter:stat日志用的filter:log4j防御sql注入的filter:wall

  1. filters: stat,wall,log4j2
  2. connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
  3. web-stat-filter:
  4. enabled: true
  5. url-pattern: "/*"
  6. exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
  7. stat-view-servlet:
  8. url-pattern: "/druid/*"
  9. allow: 0.0.0.0
  10. reset-enable: false
  11. login-username: admin
  12. login-password: admin

filters:   属性类型是字符串,通过别名的方式配置扩展插件,常用的插件有,监控统计用的filter:stat,日志用的filter:log4j ,防御sql注入的filter:wall

扩展插件可见这篇博文:https://www.cnblogs.com/cymiao/p/8432681.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/857094
推荐阅读
相关标签
  

闽ICP备14008679号