spring MVC 控制器获取WebApplicationContext

使用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官方文档:

?

?

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。