我正在从Spring 2.5迁移到Spring 3。
他们介绍了<mvc:annotation-driven />一些黑魔法。预期仅在servlet配置文件中声明。
<mvc:annotation-driven />
在Spring 2.5我刚使用<context:annotation-config />和<context:component-scan base='...'/>标签无论是在宣布application-context.xml和调度servlet配置XML适当的基础包进行扫描。
<context:annotation-config />
<context:component-scan base='...'/>
application-context.xml
因此,我想知道servlet config中的和标记之间有什么区别,mvc:annotation- driven并且context:annotation-config在Spring 3配置文件中可以消除什么?
mvc:annotation- driven
context:annotation-config
<context:annotation- config>声明一般注释,比如支持@Required,@Autowired,@PostConstruct,等等。
<context:annotation- config>
@Required
@Autowired
@PostConstruct
<mvc:annotation-driven />声明了注解驱动MVC控制器明确支持(即@RequestMapping,@Controller虽然对于那些支持是默认行为),用于通过声明性验证,以及增加支撑@Valid和消息体编组与@RequestBody/ ResponseBody。
@RequestMapping
@Controller
@Valid
@RequestBody
ResponseBody