加载应用上下文初始器

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

猜你喜欢

转载自blog.csdn.net/jiuweideqixu/article/details/86094526