Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 20361|Risposta: 0

[Fonte] Java annota la differenza tra costruttori @PostConstruct e statici

[Copiato link]
Pubblicato il 30-7-2021 10:48:11 | | | |
Recentemente, mi sono imbattuto in questa annotazione in un progetto aziendale @PostConstruct e sono rimasto perplesso.

Recensione:

Java annotations@PostConstruct spiegazioni dettagliate ed esempi di @PreDestroy
https://www.itsvse.com/thread-7386-1-1.html


Dopo la consulenza, il riassunto è il seguente:

1. A partire dalla specifica Java EE5, vengono utilizzate due annotazioni che influenzano il ciclo di vita del servlet, @PostConstruct e @PreDestroy, per modificare un metodo void() non statico. Ci sono due modi per scriverlo:

@PostConstruct

public void someMethod(){}

o

public @PostConstruct void someMethod(){}

Il metodo modificato @PostConstruct si attiva quando il server carica il servlet, eVerrà eseguita solo una volta dal server。 PostConstruct viene eseguito dopo il costruttore e prima del metodo init(). Il metodo PreDestroy() viene eseguito dopo che il metodo destroy() è intellettuale



Inoltre, l'ordine di Constructor, @Autowired e @PostConstruct in primavera

In effetti, dal significato letterale di iniezione di dipendenza, possiamo sapere che per iniettare l'oggetto p nell'oggetto A, allora devono prima essere generati l'oggetto A e l'oggetto p prima che l'iniezione possa essere eseguita. Quindi, se una variabile membro p è annotata @Autowried nella classe A, allora @Autowired iniezione avviene dopo che il metodo di costruzione di A è stato eseguito.

Se vuoi completare alcune operazioni di inizializzazione durante la generazione di un oggetto, e queste operazioni dipendono dall'iniezione di dipendenze, allora non puoi farlo nel costruttore. Per farlo, puoi utilizzare un metodo @PostConstruct annotazioni per completare l'inizializzazione, @PostConstruct i metodi annotati verranno chiamati automaticamente dopo il completamento dell'iniezione di dipendenza.

Costruttore >> @Autowired >> @PostConstruct

Esempio:







Precedente:Docker installa lo strumento di gestione visuale Redis (redis-manager)
Prossimo:Il valore auto.offset.reset di Kafka è spiegato in dettaglio
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com