开发中的先后问题

56 阅读1分钟

开发中的先后问题

1. 过滤器、拦截器、AOP的先后顺序

前端->过滤器->拦截器->AOP

2. 配置文件的先后顺序

标准的SpringBoot应用

在标准的SpringBoot应用中,本地配置加载顺序如下:

bootstrap配置加载先于application配置

不带profile的配置加载先于带profile的配置

(不含后缀的)同文件名配置*.yaml加载先于*.properties

综上,本地加载顺序为:
bootstrap.yaml
bootstrap.properties
bootstrap-{profile}.yaml
bootstrap-{profile}.properties
application.yaml
application.properties
application-{profile}.yaml
application-{profile}.properties

因此,配置生效覆盖关系:

对于key名相同,后加载会覆盖掉前加载,故而最终为后加载的配置项生效!

对于key名不同,则直接生效(会加载,但不会被覆盖);

注意:不能理解为文件级整体覆盖,而仅是同名key会被后加载的键值覆盖。