Spring Boot-如何配置环境变量?

时间:2019-03-13 00:08:09

标签: spring-boot environment-variables

我希望能够在我的Spring Boot应用程序中指定环境变量。我有一个正在使用的外部库,该库需要环境变量,并且这些变量的值将根据我们所部署的环境而变化。

例如,在打包的春季启动jar“ myapp-boot-packaged.jar”的application.properties中,添加以下属性:

foo = bar

等效于java -Dfoo = bar -jar myapp-boot-packaged.jar

3 个答案:

答案 0 :(得分:0)

您可以像这样在命令行中简单地运行它:

$ java -jar myapp-boot-packaged.jar --foo='bar'

Spring Boot Docs

答案 1 :(得分:0)

使用环境或属性源中的属性

您无需配置本机支持的任何内容。

  

Spring Boot使您可以外部化配置,以便您可以   在不同的环境中使用相同的应用程序代码。您可以   使用属性文件,YAML文件,环境变量和   命令行参数以外部化配置。属性值   可以使用@Value直接注入到您的bean中   注释,可以通过Spring的环境抽象访问,也可以是   通过@ConfigurationProperties绑定到结构化对象。

已经为您完成了,因此您仍然需要在:中声明变量。

  • 命令行参数(--foo = bar)
  • 来自java:comp / env的JNDI属性。
  • Java系统属性(System.getProperties())。
  • OS环境变量。

环境属性(配置文件)

如果要在每个环境(本地,开发,生产)中使用属性,则可以使用配置文件,一个虚拟的示例是将<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