Sobes.tech
Junior

Jak wykonać kod po tym, jak Spring wstrzyknął wszystkie zależności beana?

sobes.tech AI

Odpowiedź od AI

W Springu, aby wykonać kod po tym, jak wszystkie zależności beana zostały wstrzyknięte, można użyć interfejsu InitializingBean lub adnotacji @PostConstruct.

Przykład z @PostConstruct:

import javax.annotation.PostConstruct;
import org.springframework.stereotype.Component;

@Component
public class MyBean {

    @PostConstruct
    public void init() {
        // Ta metoda zostanie wywołana po wstrzyknięciu wszystkich zależności
        System.out.println("Wszystkie zależności zostały wstrzyknięte, można wykonać inicjalizację");
    }
}

Alternatywnie, można zaimplementować interfejs InitializingBean i nadpisać metodę afterPropertiesSet():

import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Component;

@Component
public class MyBean implements InitializingBean {

    @Override
    public void afterPropertiesSet() throws Exception {
        // Kod, który zostanie wykonany po wstrzyknięciu zależności
    }
}

Obie metody gwarantują, że kod zostanie wykonany po tym, jak Spring zakończy wstrzykiwanie wszystkich zależności do beana.