1、spring.factories
# Initializers
org.springframework.context.ApplicationContextInitializer=\
com.imooc.springapplication.context.AfterHelloWorldApplicationContextInitializer,\
com.imooc.springapplication.context.HelloWorldApplicationContextInitializer
2、低优先级
package com.imooc.springapplication.context;
import org.springframework.context.ApplicationContextInitializer;
import org.springframework.context.ConfigurableApplicationContext;
public class AfterHelloWorldApplicationContextInitializer <C extends ConfigurableApplicationContext>
implements ApplicationContextInitializer<C> {
public void initialize(C applicationContext){
System.out.println("After的id()=" + applicationContext.getId());
}
}
3、高优先级
package com.imooc.springapplication.context;
import org.springframework.context.ApplicationContextInitializer;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
@Order(Ordered.HIGHEST_PRECEDENCE)
public class HelloWorldApplicationContextInitializer <C extends ConfigurableApplicationContext>
implements ApplicationContextInitializer<C> {
public void initialize(C applicationContext){
System.out.println("before的id()=" + applicationContext.getId());
}
}
4、运行结果
before的id()=org.springframework.context.annotation.AnnotationConfigApplicationContext@365c30cc
After的id()=application