springboot全局常量_Spring-Boot配置属性和环境变量的加载顺序

Spring-Boot使用很方便,创建系统时,您绝对需要将“设置”和“程序”分开,在Java中,有一个名为application.property/yaml的属性文件,但是你想在哪里找到该文件?不,你必须自己创建它。

Spring Boot允许您外部化配置,以便您可以在不同的环境中使用相同的应用程序代码。您可以使用属性文件,YAML文件,环境变量和命令行参数来外部化配置。属性值可以通过直接注射到你的bean @Value注释,通过Spring的访问Environment抽象,或者被 绑定到结构化对象通过@ConfigurationProperties。Spring Boot使用一种非常特殊的PropertySource顺序,旨在允许合理地覆盖值。按以下顺序考虑属性:

Devtools 主目录上的全局设置属性(当devtools处于活动状态时,配置是~/.spring-boot-devtools.properties)。

properties属性测试。可 用于测试特定应用程序片段[url=https://docs.spring.io/spring-boot/docs/2.1.2.RELEASE/api/org/springframework/boot/test/context/SpringBootTest.html]@SpringBootTest[/url]的 测试注释。

命令行参数。

来自SPRING_APPLICATION_JSON(嵌入在环境变量或系统属性中的内联JSON)的属性。

ServletConfig init参数。

ServletContext init参数。

JNDI属性来自java:comp/env。

Java系统属性(System.getProperties())。

OS环境变量。

一RandomValuePropertySource,只有在拥有性能random.*。

特定于配置文件的应用程序属性在打包的jar(application-{profile}.properties和YAML变体)之外。

打包在jar中的特定于配置文件的应用程序属性(application-{profile}.properties 以及YAML变体)。

打包jar之外的应用程序属性(application.properties以及YAML变体)。

打包在jar中的应用程序属性(application.properties和YAML变体)。

@PropertySource 你@Configuration班上的注释。

默认属性(由设置指定SpringApplication.setDefaultProperties

下面从命令行参数开始:

命令行参数

$ ./gradlew bootRun -Pargs="--myapp.ldap.port=10389"

Java -jar -Dserver.port=10389

OS环境变量:

$ export MYAPP_LDAP_PORT=10389

application.yml

寻找顺序:

当前目录下的/config 子目录

当前目录

类路径/config包

类路径根root

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值