使用spring MVC 时,如何在控制器中获取WebApplicationContext 呢?
WebApplicationContext ?是干什么的?
WebApplicationContext 有以下方法:getBean() ,传入bean的id就可以从上下文中获取bean的实例.
使用场景:
一般情况下,我们可以是@Resouce注解,来依赖注入,并不需要手动获取bean的实例再setter.
但是抽象出一个公共的父类Controller,里面使用了泛型T,此时dao的名称我们不知道,我们确定Dao的名称是T 的首字母小写再加上字符串"Dao",所以此时不能使用@Resouce注解,就需要先获取WebApplicationContext,然后通过getBean 方法获取dao实例.
?
获取WebApplicationContext? 的方法:
WebApplicationContext webApp=RequestContextUtils.getWebApplicationContext(request , request.getSession().getServletContext());
?以下摘取自spring MVC官方文档:
?
?
spring MVC 控制器获取WebApplicationContext
原文:http://hw1287789687.iteye.com/blog/2154343