yml | ${}的用法

2022-05-17  本文已影响0人  七喜丶

yml文件配置如下:


spring:
  datasource:
    druid:
      db-type: com.alibaba.druid.pool.DruidDataSource
      driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
      url: jdbc:log4jdbc:mysql://${DB_HOST:***}:${DB_PORT:***}/${DB_NAME:***}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
      username: ${DB_USER:root}
      password: ${DB_PWD:***}

  redis:
    #数据库索引
    database: ${REDIS_DB:**}
    host: ${REDIS_HOST:**}
    port: ${REDIS_PORT:**}
    password: ${REDIS_PWD:**}
    #连接超时时间
    timeout: 5000

${key:default_value} 这种表达方式是通过key来获取value,如果获取不到就使用后面默认值。

使用场景:
一些直接通过Jar包启动时,可以在启动时手动配置相关参数,如果没有配置,也会自动获取默认值进行启动,如


java -jar -DREDIS_HOST=172.16.0.36 -DREDIS_DB=2 xxx.jar

当然,${}这种形式本来也可以用来获取值,比如在本yml文件中去获取其他位置定义好的值,也可以去获取相关的环境变量。

上一篇下一篇

猜你喜欢

热点阅读