【Spring】ApplicationContextAware详解

一、引出正题

业务背景: 我要从Spring IOC容器中获取bean,应该如何获取?
引发思考: 从IOC容器中获取bean,那我们就是要获取一个ApplicationContext应用上下对象,然后调用其父类的getBean(String name)就可以拿到我们想要的bean了。既然如此,那接下去让我们看个示例吧!

二、场景示例

@Component
public class SubApplicationContextAware implements ApplicationContextAware {

    private static ApplicationContext applicationContext;

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        SubApplicationContextAware.applicationContext = applicationContext;
    }

    /**
     * 根据名称从IOC容器中获取实例
     */
    public static Object getBean(String name) {
        return applicationContext.getBean(name);
    }
}

三、类加载顺序

想要透彻的理解ApplicationContextAware,那让我们从加载时序图出发进一步探索:
【Spring】ApplicationContextAware详解_第1张图片




感谢阅读,下次再见。ヾ( ̄▽ ̄)ByeBye

你可能感兴趣的:(Spring,spring,java)