Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 20361|Odgovoriti: 0

[Vir] Java označuje razliko med @PostConstruct in statičnimi konstruktorji

[Kopiraj povezavo]
Objavljeno 30. 7. 2021 ob 10:48:11 | | | |
Nedavno sem naletel na to opombo v @PostConstruct projekta podjetja in bil sem zmeden.

Pregled:

Java annotations@PostConstruct ter podrobne razlage in primeri @PreDestroy
https://www.itsvse.com/thread-7386-1-1.html


Po posvetovanju je povzetek naslednji:

1. Od specifikacije Java EE5 se uporabljata dve anotaciji, ki vplivata na življenjski cikel servleta, @PostConstruct in @PreDestroy, za spreminjanje metode nestatičnega void(). Obstajata dva načina, kako ga napišeti:

@PostConstruct

public void someMethod(){}

ali

public @PostConstruct void someMethod(){}

Metoda @PostConstruct modified se izvede, ko strežnik naloži servlet, inStrežnik ga bo izvedel le enkrat。 PostConstruct se izvede po konstruktorju in pred metodo init(). Metoda PreDestroy() se izvaja po tem, ko je metoda destroy() intelektualna



Poleg tega spomladi tudi naročilo Konstruktor, @Autowired in @PostConstruct

Pravzaprav lahko iz dobesednega pomena injekcije odvisnosti vemo, da je za vbrizgavanje objekta p v objekt A najprej treba generirati objekt A in objekt p, preden lahko izvedemo injekcijo. Torej, če je članska spremenljivka p anotirana @Autowried razreda A, potem @Autowired vbrizgavanje nastopi po izvedbi metode konstrukcije A.

Če želite izvesti nekatere inicializacijske operacije pri generiranju objekta in te inicializacijske operacije temeljijo na injiciranju odvisnosti, potem tega ne morete izvesti v konstruktorju. Za to lahko uporabite metodo @PostConstruct anotacijami za dokončanje inicializacije, @PostConstruct anotirane metode bodo samodejno klicane po zaključku injiciranja odvisnosti.

Konstruktor >> @Autowired >> @PostConstruct

Primer:







Prejšnji:Docker Installs Redis Visual Management Tool (redis-manager)
Naslednji:Kafkina vrednost auto.offset.reset je podrobno pojasnjena
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com