SpringBoot加载资源方式及默认顺序
注意:因为文件内容可能被覆盖,因此文件应用在项目中的优先级与文件的加载顺序相反。
一、同文件夹下加载properties文件和yml文件
springboot会首先加载类路径下的application.yml文件,然后会加载application.properties,如果两者存在相同内容,properties文件会对yml文件的相同内容进行覆盖
二、不同文件夹下同类配置文件的加载顺序
springboot中配置文件可以放在类路径中、类路径下的config文件夹中以及项目根路径中,项目根路径的config文件夹中,
其加载的优先顺序是类路径(resources的root文件夹)>类路径下的config文件夹>项目根路径>项目根路径下的config文件夹,当配置文件中存在相同配置内容时(例如服务器的端口号port),先加载的文件内容会被覆盖。
三、yml文件多环境下配置
在实际开发中,存在有开发环境、测试环境等,可以通过yml文件配置不同的开发环境。可以通过创建多个xml文件(以-*区别),和多文档模块实现
1.创建多个xml文件
创建一个application-test.yml和application-develop.yml,配置不同的开发环境,然后在application.yml中通过active的值进行区分。
2.多文档模块
在同一个yml中,不同的文档模块以---分割,profiles表示对应的名称,例如:
表示两种不同的环境。
四、静态资源文件引入的加载顺序
默认情况下,SpringBoot从类路径中(resources)名为/static,/public,/resources,或者/META-INF/resources的目录中提供静态内容。其加载的优先顺序是public>static>resources