În dezvoltarea cu Spring Boot, constructorul unei clase nu are întotdeauna acces la starea complet inițializată a tuturor dependințelor injectate. Adnotarea @PostConstruct (din pachetul standard jakarta.annotation) marchează o metodă care va fi executată automat imediat după ce Spring a finalizat injectarea tuturor proprietăților și dependințelor.
Simetric, @PreDestroy indică metoda apelată înainte ca bean-ul să fie distrus la oprirea aplicației, fiind locul ideal pentru închiderea conexiunilor la socket-uri, golirea bufferelor și eliberarea fișierelor deschise (Graceful Shutdown).
Exemplu: Încărcare cache la inițializare și eliberare resurse la oprire
package ro.dexblog.demo.service;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.PreDestroy;
import org.springframework.stereotype.Service;
@Service
public class CacheWarmupService {
@PostConstruct
public void init() {
System.out.println("[CacheWarmup] Toate dependințele au fost injectate. Preîncălzire cache...");
// Logica de preîncărcare a datelor frecvente din baza de date
}
@PreDestroy
public void cleanup() {
System.out.println("[CacheWarmup] Aplicația se oprește. Salvare stări și eliberare conexiuni...");
}
}
Întrebări & Exemple de Cod:
@PostConstruct și @PreDestroy în Spring BootAi o nelămurire despre utilizarea comenzii
@PostConstruct și @PreDestroy în Spring Bootsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.