SpringBoot提供的常用接口(拓展接口)示例
1、ApplicationContextInitializer
org.springframework.context.ApplicationContextInitializer
(1)在容器刷新之前调用此类的 initialize 方法,允许用户自己扩展。用户可以在整个spring容器还没被初始化之前做一些事情。可以想到的场景可能为,在最开始激活一些配置,或利用这时候class还没被类加载器加载的时机,进行动态字节码注入等操作
(2)拓展示例:
public class MyApplicationContextInitializer implements ApplicationContextInitializer {/*** <p>添加自定义 BeanFactoryPostProcessor 后置处理器</p>*/@Overridepublic void initialize(ConfigurableApplicationContext applicationContext) {applicationContext.addBeanFactoryPostProcessor(new MyBeanDefinitionRegistry());}
}
(3)因为这时候spring容器还没被初始化,所以想要自己的扩展类生效