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