java / intermediate
Snippet
Verzögerte Initialisierung mit @Lazy
Die @Lazy-Annotation verhindert, dass Spring eine Bean beim Start erstellt. Stattdessen wird sie erst initialisiert, wenn sie zum ersten Mal angefordert wird, was den Anwendungsstart beschleunigen kann.
snippet.java
1
2
3
4
5
6
7
8
9
10
@Servicepublic class ReportService {@Lazy@Autowiredprivate HeavyEmailClient emailClient;public void send() {emailClient.dispatch();}}
spring
Erklärung
1
@Lazy
Gibt an, ob eine Bean verzögert initialisiert werden soll.
2
@Autowired
Spring injiziert einen Proxy anstelle der echten Bean, bis der erste Methodenaufruf erfolgt.