Spring框架:目的是什么
我是Spring的新手,对这个标签有些困惑。
浏览完文档并查看不同的帖子后,似乎主要用途是Spring MVC要求将请求分发给@Controllers。
我创建了一个带有两个requestMappings的控制器:
@RequestMapping(method = RequestMethod.GET,值=“ /
health”)@RequestMapping(method = RequestMethod.GET,值=“ / test”)
我测试了servlet.xml中是否包含servlet的Web应用程序,并且似乎没有被省略与没有任何区别。这些请求似乎仍然可以到达我的控制器。
谁能向我解释该标签的确切用途?
提前致谢!
回答:
Spring默认提供对@Controller
和的支持@RequestMapping
。但是,通过启用,mvc:annotation-
driven您可以支持处理映射到带注释的控制器方法的请求,例如声明性验证,格式化和转换服务。spring博客的摘录,其中介绍了新的配置功能
它根据您的类路径中存在的内容应用合理的默认值。这些默认值包括:
使用Spring 3 Type ConversionService作为JavaBeans PropertyEditors的更简单,更强大的替代品
支持使用@NumberFormat格式化数字字段
如果类路径上有Joda Time,则支持使用@DateTimeFormat格式化Date,Calendar和Joda Time字段
- 如果类路径上有JSR-303提供程序,则支持使用@Valid验证@Controller输入
- 如果类路径上包含JAXB,则支持读写XML
- 如果杰克逊在类路径上,则支持读取和写入JSON
另一个相关的有用的博客文章
如果未将此标记添加到XML,那么您将必须为HandlerAdapter,HandlerMapping,Binding
Initializer,Request Message转换器等组件手动定义Bean。此标记有助于注册以下组件。
- 这是
HandlerMapping
将HTTP请求映射到使用
@RequestMapping
注释定义的处理程序方法的实现。负责扫描控制器以标识使用@MVC注释注释的方法(和参数)。它扫描并缓存带有注释的处理程序方法
@RequestMapping
。另外处理@RequestParam
,@ModelAttribute
,
@SessionAttributes
和@InitBinder
注释。-Web数据绑定程序的初始化程序。帮助通过声明器,转换服务,属性编辑器等声明性地配置Web Binder。
- 实现验证器接口并启用JSR303验证。这被注入
ConfigurableWebBindingInitializer
。一个转换工厂,为基本对象(如日期和数字)返回转换服务。这家工厂再次注入
ConfigurableWebBindingInitializer
。- 支持消息转换器
最后,在官方文档中有一个更正式的定义
以上是 Spring框架:目的是什么 的全部内容, 来源链接: utcz.com/qa/414327.html