springboot properties文件的优先级如何设置

avatar
作者
筋斗云
阅读量:0

在Spring Boot中,properties文件的优先级是根据它们的加载顺序来确定的。当有多个相同的属性时,优先级高的文件中的值会覆盖优先级低的文件中的值。以下是Spring Boot中properties文件的优先级顺序:

  1. 命令行参数(Command Line Arguments):这些参数可以通过--key=value的形式传递给Spring Boot应用程序。
  2. 程序参数(Program Arguments):这些参数可以通过SpringApplication.setAdditionalProfiles()方法传递给Spring Boot应用程序。
  3. 操作系统环境变量(OS Environment Variables):这些变量可以在操作系统中设置,并以大写字母和下划线的形式表示,例如MY_PROPERTY
  4. Java系统属性(Java System Properties):这些属性可以通过-Dkey=value的形式传递给Java虚拟机。
  5. 配置文件(Configuration Files):
    • 类路径下的application-{profile}.propertiesapplication-{profile}.yml文件,其中{profile}是激活的配置文件。
    • 类路径下的application.propertiesapplication.yml文件。
    • 当前目录下的application-{profile}.propertiesapplication-{profile}.yml文件。
    • 当前目录下的application.propertiesapplication.yml文件。
  6. 默认属性(Default Properties):这些属性可以通过SpringApplication.setDefaultProperties()方法设置。

需要注意的是,这里的优先级顺序是从高到低的,即命令行参数具有最高的优先级,而默认属性具有最低的优先级。当有多个相同的属性时,优先级高的属性值会覆盖优先级低的属性值。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!