在项目中我们通常会写一些插件的东西来做一些自动化配置,例如:读取环境变量,根据不同的环境设定不同的运行参数配置; 那么,EnvironmentPostProcessor 就很有必要了解一下了;
这个接口的意义就是:能够在默认的配置资源加载完成后,暂未使用加载到的配置 来实例化bean,这期间想做点配置信息改变;
下面直接贴上实现:
public class CustomEnvironmentPostProcessor implements Ordered, EnvironmentPostProcessor, SmartApplicationListener {
/**
* {@link EnvironmentPostProcessor} 中比较特殊,不能直接用 @Slf4j 进行输出日志
*/
private static final DeferredLog LOGGER = new DeferredLog();
/**
* yml资源加载器
*/
private final YamlPropertySourceLoader loader = new YamlPropertySourceLoader();
/**
* The default order for the processor.
*/
public static final int DEFAULT_ORDER = ConfigFileApplicationListener.DEFAULT_ORDER;
private int order