与 Springs @ModelAttribute 注释的命名约定混淆

Confused with naming convention for Springs @ModelAttribute annotation

官方文档没有完全回答我的问题,恳请您的帮助。

@ModelAttribute 的名称是否必须与实际对象 Pet pet (a) 相同?或者它也可以不同(b)?

@PostMapping("/owners/{ownerId}/pets/{petId}/edit")
(a) public String processSubmit(@ModelAttribute("pet") Pet pet, BindingResult r) {
(b) public String processSubmit(@ModelAttribute("cat") Dog rex, BindingResult r 
    if (r.hasErrors()) {
        return "petForm";
    }
    // ...
}

可能会有所不同,@ModelAttribute的名称必须与它在视图中使用的属性相匹配。如果不指定名称,Spring默认取变量名