杭州酒店网站建设方案,做电商自建网站怎样,长沙网页制作模板,品牌策划设计包括哪些内容Spring Boot的一个重要特性就是它的自动配置#xff0c;这一特性在很大程度上依赖于名称为application的配置文件。本文将详细介绍在Spring Boot中#xff0c;这些配置文件的加载顺序以及每份文件的应用范围。 文章目录 配置文件的种类配置文件的加载顺序配置文件的环境切换 … Spring Boot的一个重要特性就是它的自动配置这一特性在很大程度上依赖于名称为application的配置文件。本文将详细介绍在Spring Boot中这些配置文件的加载顺序以及每份文件的应用范围。 文章目录 配置文件的种类配置文件的加载顺序配置文件的环境切换 配置文件的种类
在Spring Boot中我们主要使用两种类型的配置文件
application.propertiesapplication.yml
这两种文件都用于定义项目的配置参数只是书写格式不同。其中application.properties采用“键值”的格式而application.yml采用了YAMLYAML Ain’t Markup Language语言的格式设置更为清晰和明了。
配置文件的加载顺序
当项目启动时Spring Boot会按照一定的顺序去加载这些配置文件。以下是这些配置文件的默认加载顺序
在当前目录下的/config子目录的application配置文件在当前目录下的application配置文件在类路径classpath下的/config子目录的application配置文件在类路径classpath下的application配置文件
其中列表中序号越小的配置文件优先级越高。也就是说如果在不同的application配置文件中定义了相同的属性那么优先级更高的配置文件中定义的值会覆盖优先级较低的配置文件中定义的值。
配置文件的环境切换
除了主要的application配置文件之外我们还可以为每个环境提供专门的配置文件。这些环境特定的配置文件的名称格式为application-{profile}.properties或application-{profile}.yml其中的{profile}表示特定的环境。例如我们可以为开发环境定义一个application-dev.properties文件为生产环境定义一个application-prod.properties文件。
与普通的配置文件一样环境特定的配置文件也有一定的加载顺序但它们的加载时机是在对应的application配置文件加载之后。也就是说如果环境特定的配置文件中定义了与application配置文件相同的属性那么环境特定的配置文件中的值将会覆盖application配置文件中的值。
参考资源
Config file processing in Spring Boot 2.4Order of Configuration in SpringBootSpring Boot Externalized Configuration