我确实在Spring Boot应用程序中使用配置文件。在我的application.properties中,有以下3个条目:
spring.profiles.active=prod
key1=demo. ...
key1=prod. ...
当前,我必须取消注释该行,具体取决于它是演示版还是生产版。 使用Spring Boot的配置文件还有更好的方法吗?
答案 0 :(得分:0)
是的,您可以使用配置文件名称的后缀创建属性文件,然后在其中转储配置文件特定的属性。
例如,
在您的application-prod.properties
中,该{p}
在您的key1=prod. ...
中,这个将进入application-demo.properties
在启动服务器时,传递此Java参数key1=demo. ...
或设置环境变量-Dspring.profiles.active=<profilename>
答案 1 :(得分:0)
这是可以实现的方式:
使用单个application.properties并具有以下格式的值:
redis.host=${REDIS_HOST}
redis.port=${REDIS_PORT}
现在在dev,staging和prod环境中使用不同的.yml文件,其中每个文件都具有与特定环境相关的值。例如dev.yml,staging.yml,prod.yml:
// dev.yml
REDIS_HOST=localhost
REDIS_PORT=6379
// staging.yml
REDIS_HOST=staging-url
REDIS_PORT=6576
//prod.yml
REDIS_HOST=produrl
REDIS_PORT=5678
现在,在为不同环境传递了配置文件参数的情况下运行应用程序:
-Dspring.profiles.active=dev