使用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官方文档:
相关推荐
- **DispatcherServlet**:这是 Spring MVC 的前端控制器,负责接收 HTTP 请求并分发给合适的后端组件处理。 - **WebApplicationContext**:这是一个特殊的 Bean 容器,用于管理 Web 应用中的所有 Bean。 - **默认的...
3. `org.springframework.web.servlet-3.0.2.RELEASE.jar`:这是 Spring MVC 的核心模块,提供了控制器(Controller)、模型视图(ModelAndView)以及调度器Servlet(DispatcherServlet)等关键组件。...
DispatcherServlet 是 Spring MVC 中的核心组件之一,它作为前端控制器的角色,主要负责以下任务: - **初始化**:读取配置文件并初始化 Spring 容器。 - **请求处理**:处理所有进入系统的 HTTP 请求。 - **响应...
Spring MVC 是一个轻量级的、基于Java的Web应用程序开发框架,它是Spring框架的一部分,主要用于构建Web应用的模型-视图-控制器(MVC)架构。Spring MVC的设计目标是简化开发,提高可测试性,并促进良好的编程实践。...
Spring MVC 通过分离模型、视图和控制器组件来简化 Web 开发。Spring MVC 4.2.4.RELEASE 是 Spring MVC 框架的一个版本号,中文文档对这个版本进行了详细的介绍和说明。 Spring MVC 框架简介部分讲解了该框架的基本...
Spring MVC 是建立在 Spring 的核心功能之上,为基于模型-视图-控制器(MVC)设计模式的 Web 应用程序提供构建和运行的支持。 在 Spring Web MVC 框架简介中,文档首先介绍了这一框架的基本概念和它如何帮助开发者...
Spring MVC是基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把模型-视图-控制器分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的...
Spring MVC 和许多其他 Web 框架一样,围绕前端控制器模式设计,其中中央 Servlet(即 DispatcherServlet)提供了一个共享算法用于处理请求,而实际的工作则由可配置的委托组件来完成。这种模式非常灵活,支持多样化...
Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把模型-视图-控制器分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间...
对于Spring MVC 控制器的单元测试,可以使用JUnit结合Spring Test框架进行。通常涉及Mockito或Spring的`MockMvc`工具类。 #### 十二、转发与重定向 Spring MVC 支持两种方式来跳转页面: - **转发**:在控制器...
Spring MVC 是一个强大的Java web开发框架,主要用于构建模型-视图-控制器(MVC)架构的应用程序。在Spring 3.2版本中,它提供了一系列高级特性和功能,旨在简化开发流程并提高代码的可维护性和灵活性。 核心组件是...
1. **DispatcherServlet**:作为前端控制器,它是整个 Spring MVC 架构的核心。在应用启动时读取配置文件,并初始化上下文。当客户端发起请求时,由 DispatcherServlet 接收请求并进行分发处理。 - 在 `web.xml` ...
**@Controller注解的作用**:用于定义一个类为Spring MVC控制器,该类将处理HTTP请求。 **@RequestMapping注解的作用**:用于类或方法级别,表示处理特定的URL请求。 **@ResponseBody注解的作用**:用于将控制器的...
`DispatcherServlet`是Spring MVC的前端控制器,它是整个流程的起点。当应用启动时,`DispatcherServlet`的初始化过程主要包括以下几个步骤: 1. **加载配置**:`DispatcherServlet`会在初始化阶段读取配置文件(如...
`DispatcherServlet`是一个前端控制器,负责接收请求并调度到相应的处理器。 1. `doGet()`和`doPost()`方法: Spring MVC并未直接在`HttpServletBean`中处理这些方法,而是封装在`FrameworkServlet`的抽象方法`...
在Spring MVC框架中,单元测试是确保代码质量的重要步骤,特别是在控制器层(Controller)。这篇博客主要探讨了如何使用JUnit进行Spring MVC Controller的单元测试。在实际开发中,单元测试可以帮助我们尽早发现潜在...
1. **DispatcherServlet**:作为Spring MVC的核心,`DispatcherServlet`负责拦截所有到达的HTTP请求,然后根据请求映射找到合适的处理器(控制器)进行处理。 2. **控制器**:开发者可以定义控制器类,这些类处理...
- **单元测试**:Spring 提供了`MockMvc`工具类,方便对Spring MVC控制器进行单元测试。 - **DispatcherServlet**:作为Spring MVC的核心组件,它负责调度请求到相应的处理器。 - **WebApplicationContext**:...
在控制器类中,我们可以使用`@RequestMapping`注解来处理请求,同时可以通过`@ModelAttribute`或`@RequestParam`接收用户的选择语言参数。 3. **获取和设置语言**: Spring MVC提供了`LocaleResolver`接口,用于...
Spring MVC是Spring框架的一个重要组成部分,用于构建Web应用程序的模型-视图-控制器(MVC)架构。在Spring源代码解析的第四部分中,我们将重点关注DispatcherServlet的初始化过程,它是Spring MVC的核心组件。 ...