@zhuanxu
2017-11-27T17:46:56.000000Z
字数 1041
阅读 1843
spring-boot
spring-boot具有高度扩展性,给开发者提供了大量的扩展点,帮助开发者对运行流程进行控制。
使用 ApplicationContextInitializer 的方法
注册的方法有:
来看第二个方法是怎么实现的,看类DelegatingApplicationContextInitializer
,这个类在spring-boot包中的META-INF/spring.factories文件中定义:
org.springframework.context.ApplicationContextInitializer=\
org.springframework.boot.context.ConfigurationWarningsApplicationContextInitializer,\
org.springframework.boot.context.ContextIdApplicationContextInitializer,\
org.springframework.boot.context.config.DelegatingApplicationContextInitializer,\
org.springframework.boot.context.embedded.ServerPortInfoApplicationContextInitializer
DelegatingApplicationContextInitializer
类实现了ApplicationContextInitializer
接口,并且在其中加载context.initializer.classes
中的类
这两个接口是在spring容器启动后最后的一个回调,多个类可以通过注解@Order来指定顺序