快速获得WebAppContext

第一种做法:
实现 org.springframework.beans.factory.BeanFactoryAware 类的setBeanFactory(BeanFactory beanFactory) 方法。
public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
    context = (SessionContext)beanFactory;
}

spring 在loadBeanDefine的时候,会自动判断
if (object instanceof BeanFactoryAware){
    (BeanFactoryAware)object.setBeanFactory(this);
}


第二种做法(有session的前提下):
WebApplicationContext webAppContext = (WebApplicationContext) session
.getServletContext() .getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);

第三种方法(spring提供):
WebApplicationContext webAppContext =WebApplicationContextUtils.
            getWebApplicationContext(servletContext);

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