Spring MVC:ModelAttribute 方法是否保证在 GET 和 POST 方法之前运行?

cur*_*us1 2 spring-mvc

我正在做一个 Spring Web 应用程序。我有一个具有以下方法的控制器:

@RequestMapping(value="my", method = RequestMethod.GET)
public String get() {...}

@RequestMapping(value="my", method = RequestMethod.POST)
public String post() {...}

@ModelAttribute
public void mydata() {...}
Run Code Online (Sandbox Code Playgroud)

此控制器用于显示表单并在提交表单时处理数据。

我的问题是:ModelAttribute 方法是否保证在 GET 方法(在 GET 请求中)和 POST 方法(在 POST 请求中)之前运行?

问候和感谢!

geo*_*and 5

以下内容摘自Spring 3的Spring 文档

@ModelAttribute 注释方法在选择的 @RequestMapping 注释处理程序方法之前执行。它们有效地使用特定属性预先填充隐式模型,通常从数据库加载。然后可以通过所选处理程序方法中的@ModelAttribute 注释处理程序方法参数访问这样的属性,可能对其应用绑定和验证。

当前的文档(适用于 Spring 4)在这里并且说明了几乎相同的事情

相反,控制器中的 @ModelAttribute 方法在同一控制器内的 @RequestMapping 方法之前调用