(1)
命令行参数
(2) java:comp/env 里的 JNDI 属性
(3) JVM 系统属性
(4) 操作系统环境变量
50 第 3 章 自定义配置
(5) 随机生成的带 random.* 前缀的属性(在设置其他属性时,可以引用它们,比如 ${random.
long} )
(6) 应用程序以外的 application.properties 或者 appliaction.yml 文件
(7) 打包在应用程序内的 application.properties 或者 appliaction.yml 文件
(8) 通过 @PropertySource 标注的属性源
(9) 默认属性
这个列表按照优先级排序,也就是说,任何在高优先级属性源里设置的属性都会覆盖低优先
级的相同属性。例如,命令行参数会覆盖其他属性源里的属性。
application.properties 和 application.yml 文件能放在以下四个位置。
(1) 外置,在相对于应用程序运行目录的 /config 子目录里。
(2) 外置,在应用程序运行的目录里。
(3) 内置,在 config 包内。
(4) 内置,在 Classpath 根目录。
同样,这个列表按照优先级排序。也就是说, /config 子目录里的 application.properties 会覆盖
应用程序 Classpath 里的 application.properties 中的相同属性。
此外,如果你在同一优先级位置同时有 application.properties 和 application.yml ,那么 application.
yml 里的属性会覆盖 application.properties 里的属性
(2) java:comp/env 里的 JNDI 属性
(3) JVM 系统属性
(4) 操作系统环境变量
50 第 3 章 自定义配置
(5) 随机生成的带 random.* 前缀的属性(在设置其他属性时,可以引用它们,比如 ${random.
long} )
(6) 应用程序以外的 application.properties 或者 appliaction.yml 文件
(7) 打包在应用程序内的 application.properties 或者 appliaction.yml 文件
(8) 通过 @PropertySource 标注的属性源
(9) 默认属性
这个列表按照优先级排序,也就是说,任何在高优先级属性源里设置的属性都会覆盖低优先
级的相同属性。例如,命令行参数会覆盖其他属性源里的属性。
application.properties 和 application.yml 文件能放在以下四个位置。
(1) 外置,在相对于应用程序运行目录的 /config 子目录里。
(2) 外置,在应用程序运行的目录里。
(3) 内置,在 config 包内。
(4) 内置,在 Classpath 根目录。
同样,这个列表按照优先级排序。也就是说, /config 子目录里的 application.properties 会覆盖
应用程序 Classpath 里的 application.properties 中的相同属性。
此外,如果你在同一优先级位置同时有 application.properties 和 application.yml ,那么 application.
yml 里的属性会覆盖 application.properties 里的属性