我希望能够在我的Spring Boot应用程序中指定环境变量。我有一个正在使用的外部库,该库需要环境变量,并且这些变量的值将根据我们所部署的环境而变化。
例如,在打包的春季启动jar“ myapp-boot-packaged.jar”的application.properties中,添加以下属性:
foo = bar
等效于java -Dfoo = bar -jar myapp-boot-packaged.jar
答案 0 :(得分:0)
答案 1 :(得分:0)
您无需配置本机支持的任何内容。
Spring Boot使您可以外部化配置,以便您可以 在不同的环境中使用相同的应用程序代码。您可以 使用属性文件,YAML文件,环境变量和 命令行参数以外部化配置。属性值 可以使用@Value直接注入到您的bean中 注释,可以通过Spring的环境抽象访问,也可以是 通过@ConfigurationProperties绑定到结构化对象。
已经为您完成了,因此您仍然需要在:中声明变量。
如果要在每个环境(本地,开发,生产)中使用属性,则可以使用配置文件,一个虚拟的示例是将<script src="/myfile.js"></script>
(其中[配置文件]可以是开发人员,产品...)和application-[profile].properties
在您的类路径中或外部化(请参考使用spring.config.location)。
请注意,应用程序配置文件的特定属性会覆盖application.properties中的属性
答案 2 :(得分:0)
您必须在application.properties中声明foo = $ {bar}
运行时的时间:
Java -jar myApp.jar -Dbar = someValue