继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

spring-boot ApplicationContextInitializer实现与使用

慕码人8056858
关注TA
已关注
手记 1290
粉丝 351
获赞 1325

ApplicationContextInitializer是在ConfigurableApplicationContext刷新之前初始化Spring ConfigurableApplicationContext的回调接口。当执行:ConfigurableApplicationContext.refresh()或SpringApplication.run()时生效。

实现方式

1)编写MyApplicationContextInitializer,实现ApplicationContextInitializer接口。

public class MyApplicationContextInitializer implements ApplicationContextInitializer<ConfigurableApplicationContext> {    @Override
    public void initialize(ConfigurableApplicationContext configurableApplicationContext) {
        System.out.println("=======“);
    }
}

启动BlogApplication

@SpringBootApplicationpublic class BlogApplication {    public static void main(String[] args) {
        SpringApplication springApplication = new SpringApplication(BlogApplication.class);        //关键一步:将一个或多个initializer加入至spring容器中
        springApplication.addInitializers(new MyApplicationContextInitializer());
        springApplication.run(args).close();
    }
}

webp

console result

2)在application.properties中以context.initializer.classes为key配置一个或多个自定义Initializer


webp

application.properties


BlogApplication中注释掉springApplication.addInitializers();


@SpringBootApplicationpublic class BlogApplication {    public static void main(String[] args) {
        SpringApplication springApplication = new SpringApplication(BlogApplication.class);        //springApplication.addInitializers(new MyApplicationContextInitializer());
        springApplication.run(args).close();
    }
}

webp

console result

3)在META-INF/spring.factories中以org.springframework.context.ApplicationContextInitializer为key配置一个或多个initialier

webp

spring.factories


执行结果和上图一样。


至此,springboot中的ApplicationContextInitializer实现与使用就结束啦,喜欢的读者可以持续关注我的springboot系列博客~



作者:八目朱勇铭
链接:https://www.jianshu.com/p/e4a0b900872b


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP