本文档是关于Spring 3.0 MVC框架的注解教程,主要讲解了如何使用支持格式化的转换器以及Spring MVC的基本概念和结构。
在Spring MVC中,`<mvc:annotation-driven>`标签是一个关键组件,它使得应用程序能够支持注解驱动的开发模式。在这个例子中,通过配置`conversion-service`属性为`conversionService`,我们定义了一个`FormattingConversionServiceFactoryBean`,这个服务可以处理数据的格式化工作。`FormattingConversionServiceFactoryBean`默认支持一系列的格式化注解,例如`@NumberFormatter`,`@CurrencyFormatter`和`@PercentFormatter`,这些注解分别用于数字、货币和百分比类型的对象格式化。
`@Controller`注解用于标记一个类作为Spring MVC的控制器,它可以处理HTTP请求。`@RequestMapping`注解则用于将URL路径与控制器类的方法关联起来,提供了URL到处理函数的映射。例如,在`UserController`类中,`@RequestMapping("user")`将整个类映射到/user路径,而`@RequestMapping("/register")`将`register()`方法映射到/user/register路径。
在处理方法`register()`中,返回的`"user/register"`是一个逻辑视图名,Spring MVC会通过`ViewResolver`查找对应的视图来渲染结果,视图可以是JSP、XML或其他格式。视图解析器`ViewResolver`根据逻辑视图名找到实际的视图资源。
Spring MVC框架的核心组件`DispatcherServlet`负责调度请求,`HandlerMapping`定位合适的处理器,`HandlerAdapter`适应不同处理器的执行,`ModelAndView`包含了模型数据和视图信息,而`ViewResolver`解析视图以便渲染。Spring 3.0引入的新特性包括对RESTful URL的支持,更多的注解驱动功能,HTTP消息转换器,与数据转换、格式化和验证框架的集成,静态资源处理优化,以及控制器方法签名的灵活性提升,使其能完全脱离Servlet API。
总结来说,Spring 3.0 MVC通过注解简化了Web应用的开发,提供了强大的数据转换和格式化能力,以及灵活的控制器设计。开发者可以通过注解轻松地将URL映射到处理函数,实现模型与视图的分离,并利用内置的服务进行数据格式化,提高了代码的可读性和可维护性。