【发布时间】:2018-07-05 02:40:08
【问题描述】:
构造函数自动装配比属性自动装配有什么特定的优势......还是普通的......?高级强制团队在 Spring Boot 中使用构造函数自动装配 .. 它有什么特定的优势吗?两种自动装配的优缺点
【问题讨论】:
-
其中之一是,在测试时,对构造函数进行模拟很容易,但对属性进行模拟则有点困难
-
经验法则:坚持构造函数注入。为什么?构造函数指定被实例化的类所需的依赖关系。另一方面,使用 setter/field 注入,您总是需要查找它们(通过查看源代码)。您可能会遇到麻烦(例如 NPE),因为实例缺少一些必需的依赖项。看看olivergierke.de/2013/11/why-field-injection-is-evil
-
感谢您的回复.. 使用构造函数自动装配有什么缺点吗?
-
@benny 我不知道。它实际上使您免于连接循环依赖项(这不是 setter/field 注入的情况)。
标签: spring spring-boot