当我们在SpringBoot打包的服务时,一些参数需要从外界获取,而非写死在properties文件里,可以通过以下两步方式配置:
1.在配置文件中配置环境变量
spring:
datasource:
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:table}?useUnicode=true&characterEncoding=UTF-8
username: ${DB_USER:root}
password: ${DB_PASSWORD:root}
我们只需要在环境变量中添加以下两个
DB_USER=root
DB_PASSWORD=root修改环境变量值重启服务后生效
以上案例中,例如: ${DB_HOST:localhost} 服务会先在系统环境变量中获取值,如果获取不到则使用默认值为 localhost
2.如果在docker容器中启动时,也可以下方式传入环境参数
docker run -d --name test2 {镜像名} -e REDIS_HOST=192.1.1.0