【发布时间】:2017-04-24 12:15:55
【问题描述】:
在基于构造函数的注入中,它将创建具有所有依赖项的完整对象,但是在基于 setter 的注入的情况下,它将如何创建具有部分依赖项的对象?
【问题讨论】:
-
setter 是一个方法调用,不能保证该方法会被调用。使用构造函数,您根本无法构造处于无效状态的对象。
-
Spring 调用默认构造函数,然后尝试通过 setter 向该实例注入值。你不会看到区别。无论如何,你会得到一个构造良好的对象。
-
@M.Deinum :据我了解,setter 默认从 spring 调用,那么它怎么能错过呢?
-
谁说只有 spring 会构造你的对象...
-
@M.deinum:这就是我要问的。不知道spring会怎么调用setter方法!!!
标签: java spring dependency-injection inversion-of-control