继承了ServletContextAware接口类。那则可直接获取ServletContext。
获取流程
1、Spring通过XmlWebApplication加载bean。
2、他会调用父类AbstractRefreshableWebApplicationContext,的postprocessBeanFactory方法
new ServletContextAwareProcessor(this.servletContext, this.servletConfig)
3,该类的postProcessBeforeInitialization方法如下。
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { if (this.servletContext != null && bean instanceof ServletContextAware) { ((ServletContextAware) bean).setServletContext(this.servletContext); } if (this.servletConfig != null && bean instanceof ServletConfigAware) { ((ServletConfigAware) bean).setServletConfig(this.servletConfig); } return bean; }
原文:https://www.cnblogs.com/liujiata/p/11775926.html