Junior
Как да изпълним кода след като Spring е инжектирал всички зависимости на бина?
sobes.tech AI
Отговор от 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 завърши инжектирането на всички зависимости в бина.