Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 20361|Odpoveď: 0

[Zdroj] Java anotuje rozdiel medzi @PostConstruct a statickými konštruktormi

[Kopírovať odkaz]
Zverejnené 30.7.2021 10:48:11 | | | |
Nedávno som narazil na túto poznámku v @PostConstruct firemného projektu a bol som zmätený.

Revízia:

Java annotations@PostConstruct a podrobné vysvetlenia a príklady @PreDestroy
https://www.itsvse.com/thread-7386-1-1.html


Po konzultácii je zhrnutie nasledovné:

1. Od špecifikácie Java EE5 sa používajú dve anotácie, ktoré ovplyvňujú životný cyklus servletu, @PostConstruct a @PreDestroy, na úpravu nestatickej metódy void(). Existujú dva spôsoby, ako to napísať:

@PostConstruct

public void someMethod(){}

alebo

public @PostConstruct void someMethod(){}

Metóda @PostConstruct modified sa spustí, keď server načíta servlet, aServer ho vykoná len raz。 PostConstruct sa vykonáva po konštruktore a pred metódou init(). Metóda PreDestroy() sa vykonáva po tom, čo metóda destroy() je intelektuálna



Okrem toho sa na jar udeľuje poradie Konstruktor, @Autowired a @PostConstruct

V skutočnosti z doslovného významu injekcie závislostí vieme, že na injekciu objektu p do objektu A musia byť najprv vygenerované objekty A a objekt p, aby mohla byť injekcia vykonaná. Ak je teda členová premenná p anotovaná @Autowried triedy A, potom @Autowired injekcia nastáva po vykonaní konštrukčnej metódy A.

Ak chcete vykonať niektoré inicializačné operácie pri generovaní objektu a tieto inicializačné operácie závisia od dependency injection, potom to v konštruktore nemôžete urobiť. Na to môžete použiť metódu @PostConstruct anotácií na dokončenie inicializácie, @PostConstruct anotované metódy budú automaticky volané po dokončení injekcie závislostí.

Konštruktor >> @Autowired >> @PostConstruct

Príklad:







Predchádzajúci:Docker Installs Redis Visual Management Tool (redis-manager)
Budúci:Podrobne vysvetlená je hodnota auto.offset.reset v Kafke
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com