webapplicationcontext 是干什么的?
webapplicationcontext 有以下方法:getbean() ,传入bean的id就可以从上下文中获取bean的实例.
使用场景:
一般情况下,我们可以是@resouce注解,来依赖注入,并不需要手动获取bean的实例再setter.
但是抽象出一个公共的父类controller,里面使用了泛型t,此时dao的名称我们不知道,我们确定dao的名称是t 的首字母小写再加上字符串"dao",所以此时不能使用@resouce注解,就需要先获取webapplicationcontext,然后通过getbean 方法获取dao实例.
获取webapplicationcontext 的方法:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuIXY0N3Xu92Yp9CXzV2Zh1WavwVbvNmLllXZ0lmL3gjN5gzN3gjMxcHavw1LcpDc0RHaiojIsJye.png)
webapplicationcontext webapp=requestcontextutils.getwebapplicationcontext(request , request.getsession().getservletcontext());
以下摘取自spring mvc官方文档: