温馨提示×

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

小樊
82
2024-09-16 12:44:10
栏目: 深度学习

在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()方法设置。

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

0