springboot
允許你外部化配置,這樣你就可以工作在不同的環境中而保持代碼不變。你可以使用properties文件,ylm
文件,環境變量,命令行參數來外部化配置。你可以使用@value註解,spring的Enviroment
類,或者結構化對象(@configurationProperties
)來注入這些外部化屬性值。
外部配置:我的理解是在程序包之外的配置,也就是springboot
打包成jar後,在jar外面的一切配置。內部配置當然就是jar包內的配置文件,包括properties文件、yml
文件。
而配置文件的優先級順序,springboot
的開發文檔已經很清楚了,重點關注的是4、12、13、14、15
- 4.命令行參數
- 12.
jar
包外面,特定環境的profile
配置文件(application-{profile}.properties
)和yml
文件 - 13.
jar
包內,特定環境的profile
配置文件(application-{profile}.properties
)和yml
文件 - 14.
jar
包外面的主配置文件application.properties
和application.yml
文件 - 15.
jar
包外面的特定環境的profile
配置文件(application-{profile}.properties
)和yml
文件
s)和
yml`文件
也就是說命令行參數配置的屬性,及時在12、13、14、15中配置了,也不起到作用,命令行配置的屬性說了算,那4中沒配置的屬性呢,那就依次看後面的配置文件是否配置了,也就是上一篇文章說的互補配置。相同配置優先級決定,不同配置互補決定。