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文件
也就是说在命令行参数中配置的属性,即时在12、13、14、15中配置了,也不起到作用,命令行配置的属性说了算,那4中没配置的属性呢,那就依次看后面的配置文件是否配置了,也就是上一篇文章说的互补配置。相同配置优先级决定,不同配置互补决定。
本文深入探讨SpringBoot的外部配置机制,讲解如何在不同环境中利用properties和yml文件、环境变量及命令行参数进行配置。重点分析配置优先级,解释命令行参数、特定环境profile配置及主配置文件的应用。
1578

被折叠的 条评论
为什么被折叠?



