Назад к вопросам
СБЕР
Junior — Middle
65
В каких случаях лучше использовать сеттеры для установки зависимостей в вашем коде?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Сеттеры для установки зависимостей (setter injection) лучше использовать, когда:
- Зависимость не является обязательной для корректной работы объекта, и её можно установить позже.
- Нужно иметь возможность менять зависимость в течение жизненного цикла объекта.
- Объект создаётся без всех зависимостей, и они добавляются после создания (например, при конфигурации).
Пример: если у вас есть класс, который может работать с разными реализациями логгера, и вы хотите иметь возможность менять логгер без пересоздания объекта, то сеттеры подходят лучше, чем конструктор.
public class Service {
private Logger logger;
public void setLogger(Logger logger) {
this.logger = logger;
}
public void doWork() {
if (logger != null) {
logger.log("Work started");
}
// ...
}
}