Back to questions
Junior
11
Как выполнить код после того, как Spring заинжектировал все зависимости бина?
Companies where asked
ИП Ганус Александр Андреевич
Answer from AI
sobes.tech AI
В Spring, чтобы выполнить код после того, как все зависимости бина были заинжектированы, можно использовать интерфейс InitializingBean или аннотацию @PostConstruct.
Пример с @PostConstruct:
import javax.annotation.PostConstruct;
import org.springframework.stereotype.Component;
@Component
public class MyBean {
@PostConstruct
public void init() {
// Этот метод вызовется после инъекции всех зависимостей
System.out.println("Все зависимости заинжектированы, можно выполнять инициализацию");
}
}
Альтернативно, можно реализовать интерфейс InitializingBean и переопределить метод afterPropertiesSet():
import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Component;
@Component
public class MyBean implements InitializingBean {
@Override
public void afterPropertiesSet() throws Exception {
// Код, который выполнится после инъекции зависимостей
}
}
Оба способа гарантируют, что код выполнится после того, как Spring завершит инъекцию всех зависимостей в бин.