来一张图直观一些,就是加载各种配置
MutablePropertySources
1.有一个list属性private final List<PropertySource<?>> propertySourceList = new CopyOnWriteArrayList<>();
2.PropertySource就是具体的配置,我们的任务就是把我们的配置信息构造成PropertySource对象,然后加入到这个list当中去。
PropertySource
1.有两个重要属性
protected final String name;–配置定义的名称
protected final T source;–具体配置信息
例子
==
如果要实现动态的将配置信息添加到应用程序中,我们需要定义一个EnvironmentPostProcessor的实现类。Talk is cheap,show me the code…
@Slf4j
public class CustomEnvironmentPostProcessor implements EnvironmentPostProcessor {
PropertiesPropertySourceLoader load=new PropertiesPropertySourceLoader(); //可以将.properties的配置文件加载进来
@Override
public void postProcessEnvironment(Config