yml文件中${DB_HOST:localhost}的含义

引自:https://blog.csdn.net/chen462488588/article/details/109057342

今天学习eladmin项目中看到application-dev.yml中数据库配置中写法很奇怪,简单记录下。

#配置数据源
spring:
  datasource:
    druid:
      db-type: com.alibaba.druid.pool.DruidDataSource
      driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
      url: jdbc:log4jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${eladmin}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
      username: ${DB_USER:root}
      password: ${DB_PWD:123456}

这种表达类似于EL表达式,通过key来获取value。此处${DB_HOST:localhost}表示先从配置文件yml中或者启动命令中读取DB_HOST的值,如果没有读取到,就是用默认值localhost(其他变量类似)。好处是换一个新的环境时,不用改配置文件,直接在启动命令上指定值就可以。

比如在启动项目时使用命令来指定

java -jar -DB_HOST=localhost xxx.jar
posted @ 2021-01-12 19:42  碧水云天4  阅读(4502)  评论(0编辑  收藏  举报