本文共 1077 字,大约阅读时间需要 3 分钟。
在ConfigurableApplicationContext类型(或者子类型)的ApplicationContext做refresh之前,允许我们对ConfigurableApplicationContext的实例做进一步的设置或者处理。
实现一个ApplicationContextInitializer很简单,因为它只有一个方法需要实现:
public class DemoApplicationContextInitializer implements ApplicationContextInitializer { @Override public void initialize(ConfigurableApplicationContext applicationContext) { // do whatever you want with applicationContext, // e.g. applicationContext.registerShutdownHook(); }}
不过,一般情况下我们基本不会需要自定义一个ApplicationContextInitializer,即使SpringBoot框架默认也只是注册了三个实现:
org.springframework.context.ApplicationContextInitializer=\org.springframework.boot.context.ConfigurationWarningsApplication-ContextInitializer,\org.springframework.boot.context.ContextIdApplicationContextInitia-lizer,\org.springframework.boot.context.config.DelegatingApplicationContex-tInitializer
如果我们真的需要自定义一个ApplicationContextInitializer,那么只要像上面这样,通过SpringFactoriesLoader机制进行配置,或者通过SpringApplication.addInitializers(..)设置
即可。
转载地址:http://zltuf.baihongyu.com/