在Spring 4中用带注释的Controller替换BaseCommandController和SimpleFormController

时间:2017-04-20 17:30:30

标签: java spring spring-mvc controller

在哪里可以找到有关将Spring Framework控制器从版本2更换/迁移到版本4的一些示例?我的意思是将SimpleFormController和BaseCommandController迁移/替换为带注释的控制器@Controller。我是Spring Framework的新手。 例如,我的旧控制器使用onBind(HttpServletRequest请求,Object命令)方法。如何使用新的弹簧库迁移onBind和onBindAndvalidate等方法?

谢谢

1 个答案:

答案 0 :(得分:0)

我最近在做这个升级任务,我找到了一个非常有用的升级指南。

在此处发布,以便其他潜在开发者可以进一步使用。

  1. SimpleFormController 与 @Controller 在基于 XML 的 Spring MVC Web 应用程序中,您可以通过扩展 SimpleFormController 类来创建表单控制器。 在基于注解的情况下,您可以使用@Controller 代替

  2. formBackingObject() 与 RequestMethod.GET 在 SimpleFormController 中,您可以在 formBackingObject() 方法中初始化用于绑定的命令对象。在基于注解的情况下,您可以通过使用@RequestMapping(method = RequestMethod.GET) 注解方法名称来实现。

  3. onSubmit() 与 RequestMethod.POST 在 SimpleFormController 中,表单提交由 onSubmit() 方法处理。在基于注解的情况下,您可以通过使用@RequestMapping(method = RequestMethod.POST) 对方法名称进行注解来实现。

  4. referenceData() 与 @ModelAttribute 在 SimpleFormController 中,通常你通过 referenceData() 方法将引用数据放入模型中,以便表单视图可以访问它。在基于注解的情况下,您可以通过使用@ModelAttribute 对方法名称进行注解来实现。

  5. initBinder() vs @InitBinder 在 SimpleFormController 中,您可以通过 initBinder() 方法定义绑定或注册自定义属性编辑器。在基于注解的情况下,您可以通过使用@InitBinder 对方法名称进行注解来实现。

  6. 来自验证 在 SimpleFormController 中,您必须通过 XML bean 配置文件注册验证器类并将其映射到控制器类,验证检查和工作流程将自动执行。 在基于注解的情况下,您必须显式执行验证器并手动在@Controller 类中定义验证流程。

您可以在 Click Here

查看示例实现屏幕截图