Spring MVC 获取 ApplicationContext
直接上代码:
第一种做法,适用于 Web 应用,也是最简单的做法:
applicationContext = (WebApplicationContext) request.getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
第二种做法:
使其中一个 Bean 实现 ApplicationContextAware 接口即可,实现以下的方法,即可获取容器:
@Override public void setApplicationContext(ApplicationContext arg0) throws BeansException { this.applicationContext = arg0; }
第三种做法,Spring 应用都适用的做法:
使其中一个 Bean 实现 BeanFactoryAware 接口即可,实现以下方法,即可获取容器:
@Override public void setBeanFactory(BeanFactory arg0) throws BeansException { this.applicationContext = (XmlWebApplicationContext) arg0; }
通常获取容器来进行国际化操作或资源操作,因为 Spring 对这些的操作很方便。
以上。
浙公网安备 33010602011771号