English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Различия между инъекцией конструктора и инъекцией setter

之间存在许多关键区别 между инъекцией конструктора и инъекцией setter.

Частичная зависимость: Мы можем использовать инъекцию setter для инъекции, но конструктор это не реализует. Предположим, что у класса есть 3 свойства, у него есть 3arg конструктор и методы setter. В этом случае, если мы хотим передать информацию только одного свойства, мы можем передать ее только через методы setter. Перекрытие: Инъекция setter перекрывает инъекцию конструктора. Если мы используем как конструктор, так и инъекцию setter, контейнер IOC будет использовать инъекцию setter. Изменение: Мы можем легко изменить значение с помощью инъекции setter. Это не создает нового экземпляра bean, как это делает конструктор. Поэтому инъекция setter более гибка, чем инъекция конструктора.