每个PropertySource
代表一个属性源,例如一个Map、一个Properties对象、一个系统环境变量集合、一个系统属性集合等。PropertySource
对象有一个名称,可以通过这个名称来查找和操作它。
在Spring Boot中,配置文件的加载顺序如下:
在这个列表中,每个源的优先级都高于它后面的源。这意味着,如果在多个源中定义了相同的属性,那么在列表中靠前的源中的属性值会覆盖靠后的源中的属性值。
<aside> 👉🏼
MutablePropertySources propertySources = event.getEnvironment().getPropertySources();
获取到MutablePropertySources
就可以获取所有的PropertySource
每个PropertySource
代表一个属性源,例如一个Map、一个Properties对象、一个系统环境变量集合、一个系统属性集合等。PropertySource
对象有一个名称,可以通过这个名称来查找和操作它。 →propertySources.get(Name)
但是有些PropertySource
是不可变的, 这种修改不了, 因为他的class也是final类型的, 通过代理模式也修改不了
可以通过在他前面加配置文件, 这样就会优先读取自己定义的配置文件
propertySources.addAfter("random", propertySource);
</aside>