Sobes.tech
Junior — Middle
88

Можно ли в Spring внедрять один бин в другой при их создании?

Answer from AI

sobes.tech AI

Да, в Spring можно внедрять один бин в другой при их создании. Spring контейнер управляет созданием и связыванием бинов, поэтому при объявлении зависимостей через конструктор, сеттер или поля с аннотацией @Autowired Spring автоматически разрешит и внедрит нужные бины.

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

@Component
public class ServiceA {
    private final ServiceB serviceB;

    @Autowired
    public ServiceA(ServiceB serviceB) {
        this.serviceB = serviceB;
    }
}

@Component
public class ServiceB {
    // ...
}

Spring создаст ServiceB и внедрит его в ServiceA при создании. Главное — избегать циклических зависимостей, которые могут привести к ошибкам при инициализации.