Springboot yml配置文件的参数 详解

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

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

 

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

 

server:
  port: 8080
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      driver-class-name: com.mysql.jdbc.Driver
      url: jdbc:mysql://localhost:3306/vcd?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
      username: root
      password: 123456
      max-active: 30
      min-idle: 5
      validation-query: SELECT 1 FROM DUAL
      max-wait: 10000
      min-evictable-idle-time-millis: 30000
      testWhileIdle: true
      testOnBorrow: false
      testOnReturn: false
      poolPreparedStatements: true
      maxPoolPreparedStatementPerConnectionSize: 20
      filters: stat,wall,log4j2
      connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
      web-stat-filter:
        enabled: true
        url-pattern: "/*"
        exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
      stat-view-servlet:
        url-pattern: "/druid/*"
        allow: 0.0.0.0
        reset-enable: false
        login-username: admin
        login-password: admin

  thymeleaf:
    cache: false # 开发时关闭缓存,不然没法看到实时页面
    mode: LEGACYHTML5 # 用非严格的 HTML
    servlet:
      content-type: text/html

 

1、指定server的接口

server:
    port:8080

 

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

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

 

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

      max-active: 30
      min-idle: 5
      validation-query: SELECT 1 FROM DUAL
      max-wait: 10000
      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

      testWhileIdle: true
      testOnBorrow: false
      testOnReturn: false
      poolPreparedStatements: true
      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

      filters: stat,wall,log4j2
      connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
      web-stat-filter:
        enabled: true
        url-pattern: "/*"
        exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
      stat-view-servlet:
        url-pattern: "/druid/*"
        allow: 0.0.0.0
        reset-enable: false
        login-username: admin
        login-password: admin

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

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

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值