2015-10-27 3 views
-1

Я прочитал следующее как одно из различий между конструктором и инжектором сеттера. Может кто-то объяснить разницу ниже с некоторым простым примером, я немного запутался с термином полностью функциональный объект и неполный объект.Инъекция конструктора против инъекции сеттера

-> Конструктор DI позволяет создать объект в полном состоянии и следовать принципу полностью функционального объекта, в то время как Setter DI позволяет создавать объект без его зависимости. что может привести к неполному объекту , если зависимость недоступна.

+0

Возможного дубликат [Dependency инъекции через конструкторы или сеттер собственности?] (Http://stackoverflow.com/questions/1503584/dependency-injection-through-constructors-or-property-setters) – kryger

+0

Возможный дубликат [Setter DI vs. Constructor DI весной?] (Https://stackoverflow.com/questions/7779509/setter-di-vs-constructor-di-in-spring) –

ответ

0

При использовании Инъекция конструктора все необходимые зависимости должны быть предоставлены через конструктор, так как не должно быть никакого сеттера, чтобы вставлять их позже. Таким образом, экземпляр имеет все необходимые зависимости!

С Setter Injection может быть экземпляр создания, но без всех необходимых зависимостей (поскольку они не были установлены через сеттер). Пользователь может использовать объект, не задавая требуемые зависимости.

Смотрите также Dependency injection through constructors or property setters?

+0

Спасибо за разъяснение, я получил это ясное представление об этом сейчас. –

+0

@Shashidhar Boddu Эта кнопка (стрелка вверх), которая говорит _Answere useful_, а затем есть другой V, принимающий ответ, который показывает, какой ответ был наиболее полезен при поиске решения/разъяснения. Что проще в использовании и полезнее для человека, который вкладывает свое время в ответ. – Verhagen

Смежные вопросы