Sobes.tech
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.