Adnotarea @Lazy în Spring Boot în Spring Boot

core Spring Boot 3.x / Java 17+ Q&A / Distribuie cod

Inițializarea la cerere (on-demand) a componentelor Spring pentru reducerea timpului de pornire al aplicației și rezolvarea dependențelor circulare.

Sintaxă
@Lazy pe clasă, @Bean sau punct de injectare

În mod prestabilit, Spring instanțiază toate bean-urile de tip Singleton chiar la pornirea aplicației (Eager Initialization). Dacă o componentă realizează operații costisitoare (de exemplu încărcarea de modele AI grele în memorie sau inițializări de rețea complexe), adnotarea @Lazy amână crearea acelei instanțe până la prima sa utilizare efectivă.

De asemenea, adnotarea @Lazy plasată pe un parametru de constructor generează un proxy dinamic, rezolvând elegant scenariile nedorite de dependențe circulare temporare între două servicii.

Exemplu: Utilizarea @Lazy pe un serviciu cu inițializare costisitoare
package ro.dexblog.demo.service;

import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;

@Lazy
@Service
public class HeavyReportGeneratorService {

    public HeavyReportGeneratorService() {
        System.out.println("Instanțierea HeavyReportGeneratorService se produce doar la prima cerere de raport!");
    }

    public byte[] generatePdfReport() {
        return new byte[]{1, 2, 3};
    }
}

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Adnotarea @Lazy în Spring Boot

Ai o nelămurire despre utilizarea comenzii Adnotarea @Lazy în Spring Boot sau 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.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.