该SeedStarter如何实例化? 看到方法主体显示了与对象SeedStarter的交互。.那么如何首先实例化它?
由于该项目是教程,所以我将摘录我一直在寻找答案的确切位置。除了以下情况外,我目前不知道可以通过其他任何方式来初始化该“ guest”对象: 1.它是先前创建并添加到模型中的。 (在控制器中没有初始化,然后可能未将其添加到其他模型中) 2.已经创建的控制器的私有成员。
Environments base (root)
控制器:
pip list
答案 0 :(得分:0)
在Spring MVC成功匹配控制器方法之后,并且在它实际调用它之前,它将基于参数类型及其注释解析方法参数。您可以从此table中找到所有受支持的类型,注释和解析规则。
在您的情况下,由于SeedStarter
上没有任何注释,并且其类型也不是受支持的类型,因此它将退回到默认值,就像在其上注释了@ModelAttribute
一样。 (由该表中的最后一条规则提及)。从@ModelAttribute
docs开始,它将实例化SeedStarter
,如下所示:
- 从模型中获取(如果已通过使用Model添加)。
- 使用@SessionAttributes从HTTP会话中进行。
- 从URI路径变量通过 转换器(请参见下一个示例)。
- 从默认调用 构造函数。
- 通过调用“主要构造函数” 与Servlet请求参数匹配的参数。参数名称是 通过JavaBeans @ConstructorProperties或通过 字节码中运行时保留的参数名称。