servlet中的<mvc:annotation-driven />和<context:

我正在从Spring 2.5迁移到Spring 3。


他们介绍了<mvc:annotation-driven />一些黑魔法。预期仅在servlet配置文件中声明。


在Spring 2.5我刚使用<context:annotation-config />和<context:component-scan base='...'/>标签无论是在宣布application-context.xml和调度servlet配置XML适当的基础包进行扫描。


因此,我想知道servlet config中的和标记之间有什么区别,mvc:annotation-driven并且context:annotation-config在Spring 3配置文件中可以消除什么?


鸿蒙传说
浏览 627回答 3
3回答

互换的青春

<context:annotation-config>声明一般注释,比如支持@Required,@Autowired,@PostConstruct,等等。<mvc:annotation-driven />声明了注解驱动MVC控制器明确支持(即@RequestMapping,@Controller虽然对于那些支持是默认行为),用于通过声明性验证,以及增加支撑@Valid和消息体编组与@RequestBody/&nbsp;ResponseBody。

一只萌萌小番薯

还有的使用了一些更详细<mvc:annotation-driven />的春天文档。简而言之,可以<mvc:annotation-driven />让您更好地控制Spring MVC的内部运作。除非需要文档前述部分中概述的一项或多项功能,否则无需使用它。另外,还有其他“注释驱动”标签可用于在其他Spring模块中提供附加功能。例如,<transaction:annotation-driven />启用@Transaction批注<task:annotation-driven />是@Scheduled等必需的。

泛舟湖上清波郎朗

mvc:annotation-driven是在Spring 3.0中添加的标签,该标签执行以下操作:配置Spring 3 Type ConversionService(PropertyEditors的替代)添加了对使用@NumberFormat格式化Number字段的支持添加了对使用@DateTimeFormat格式化日期,日历和乔达时间字段的支持(如果乔达时间位于类路径上)如果在类路径上有JSR-303提供者,则添加对使用@Valid验证@Controller输入的支持。如果JAXB位于类路径上,则增加对读写XML的支持(使用@ RequestBody / @ ResponseBody的HTTP消息转换)如果Jackson在类路径中(与#5相同),则增加了对读取和写入JSON的支持。context:annotation-config 在定义的同一应用程序上下文中查找bean上的注释,并声明支持所有常规注释,例如@ Autowired,@ Resource,@ Required,@ PostConstruct等。
打开App,查看更多内容
随时随地看视频慕课网APP