天天看点

spring MVC 控制器获取WebApplicationContext

webapplicationcontext  是干什么的?

webapplicationcontext 有以下方法:getbean() ,传入bean的id就可以从上下文中获取bean的实例.

使用场景:

一般情况下,我们可以是@resouce注解,来依赖注入,并不需要手动获取bean的实例再setter.

但是抽象出一个公共的父类controller,里面使用了泛型t,此时dao的名称我们不知道,我们确定dao的名称是t 的首字母小写再加上字符串"dao",所以此时不能使用@resouce注解,就需要先获取webapplicationcontext,然后通过getbean 方法获取dao实例.

获取webapplicationcontext  的方法:

spring MVC 控制器获取WebApplicationContext

webapplicationcontext webapp=requestcontextutils.getwebapplicationcontext(request   , request.getsession().getservletcontext());  

 以下摘取自spring mvc官方文档:

spring MVC 控制器获取WebApplicationContext