Sobes.tech
Назад к вопросам
Junior — Middle
66

Какими методами реализуется внедрение зависимостей в объекты Bean?

Компании, где спрашивали
ИннотехИннотех

Ответ от нейросети

sobes.tech AI

Внедрение зависимостей (Dependency Injection) в объекты Bean в Java обычно реализуется следующими методами:

  1. Через конструктор (Constructor Injection) — зависимости передаются через параметры конструктора. Это обеспечивает неизменяемость зависимостей и удобство тестирования.

  2. Через сеттеры (Setter Injection) — зависимости устанавливаются через методы-сеттеры после создания объекта. Позволяет менять зависимости после создания, но может привести к состоянию объекта с неинициализированными зависимостями.

  3. Через поля (Field Injection) — зависимости внедряются напрямую в поля класса с помощью аннотаций (например, @Autowired в Spring). Удобно, но затрудняет тестирование и нарушает инкапсуляцию.

Пример внедрения через конструктор в Spring:

@Component
public class Service {
    private final Repository repository;

    @Autowired
    public Service(Repository repository) {
        this.repository = repository;
    }
}