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

回到顶部