Junior
Hogyan futtassuk a kódot, miután a Spring minden függőséget injektált a bean-be?
sobes.tech MI
Válasz az MI-től
Springben, hogy kódot futtassunk, miután az összes függőség be lett injektálva, használhatjuk az InitializingBean interfészt vagy a @PostConstruct annotációt.
A @PostConstruct példával:
import javax.annotation.PostConstruct;
import org.springframework.stereotype.Component;
@Component
public class MyBean {
@PostConstruct
public void init() {
// Ez a metódus az összes függőség injektálása után hívódik meg
System.out.println("Minden függőség injektálva, inicializálás elvégezhető");
}
}
Alternatívaként, megvalósíthatjuk az InitializingBean interfészt és felülírhatjuk az afterPropertiesSet() metódust:
import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Component;
@Component
public class MyBean implements InitializingBean {
@Override
public void afterPropertiesSet() throws Exception {
// Kód, amely az injektálás után fut le
}
}
Mindkét módszer garantálja, hogy a kód az összes függőség Spring általi injektálása után fusson le.