这是Spring自动装配构造函数的结果。
它要做的第一件事是获取所有bean类的构造函数并对它们进行排序,首先将公共构造函数的参数数量减少,然后再将所有非公共构造函数的参数数量减少。这些是候选构造函数。
然后,它会遍历这些候选项,尝试从中生成参数
BeanFactory。如果不能因为缺少bean或其他原因而无法跳过,则跳过候选对象。如果成功找到参数,它将根据许多因素(参数列表长度,参数类型与参数的接近程度等)为当前候选构造函数赋予权重。然后,它会检查前一个候选人的体重,如果一个人比另一个人好,就交换他们的体重。
如果在此过程结束时有候选构造函数,则Spring将使用它。
如果您说Spring在使用3 arg构造函数而不是3 arg构造函数,那么这意味着您在3 arg构造函数中没有类型之一的bean。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)