【发布时间】:2017-11-18 14:24:44
【问题描述】:
希望这个问题足够简单。我正在阅读Spring Framework Reference:beans-java 部分,我遇到了这个用法示例
让我困惑的部分是最后的注释,特别是它说的地方
还要注意,如果目标是没有必要指定@Autowired bean 只定义了一个构造函数;在上面的例子中,@Autowired 是 在 RepositoryConfig 构造函数中不需要。
我不太明白为什么我可以从RepositoryConfig() 中删除@Autowired?在这种情况下,目标 bean 是什么,它们指的是什么构造函数?
我试图重现这一点,但文档没有提供 AccountRepository 类或 TransferService 类,而且我是菜鸟,所以不确定它们应该是什么样子。所以一个可重现的例子是可取的。
【问题讨论】:
-
注释中提到了
RepositoryConfig类,这是目标bean,他们指的是它的构造函数。 -
我对您的误解感到困惑。引用说
@Autowired在RepositoryConfig构造函数上不是必需的。 所以RepositoryConfig是 bean(类),因为它有一个构造函数,所以不需要@Autowired在那个构造函数上。 -
正如我所说的我是一个菜鸟(这就是我阅读文档的原因)。 “目标 bean”让我失望,因为 RepositoryConfig 构造函数的参数使用了 Datasource bean。当你解释它时 - 现在确定它是有道理的,但它并没有为我点击。我试图重现它,但代码不完整(虽然现在我想我可以用我自己的代码测试它)所以我确实努力弄清楚并在网上做了一些搜索。我不欣赏反对票。我仍然不清楚是什么使 RepositoryConfig 成为 bean,因为该类有 3 个注释,是它们中的任何一个吗?
标签: java spring autowired spring-annotations