See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 20361|Vastuse: 0

[Allikas] Java märgib erinevust @PostConstruct ja staatiliste konstruktorite vahel

[Kopeeri link]
Postitatud 2021-7-30 10:48:11 | | | |
Hiljuti sattusin selle annotatsiooni peale ühes ettevõtte projektis @PostConstruct ja olin segaduses.

Läbivaatamine:

Java annotations@PostConstruct ning üksikasjalikud selgitused ja näited @PreDestroy
https://www.itsvse.com/thread-7386-1-1.html


Pärast konsulteerimist on kokkuvõte järgmine:

1. Alates Java EE5 spetsifikatsioonist kasutatakse kahte annotatsiooni, mis mõjutavad servleti elutsüklit, @PostConstruct ja @PreDestroy, mittestaatilise void() meetodi muutmiseks. Seda saab kirjutada kahel viisil:

@PostConstruct

public void someMethod(){}

või

public @PostConstruct void someMethod(){}

@PostConstruct muudetud meetod käivitub siis, kui server laadib servleti jaServer käivitab selle ainult ühe korra。 PostConstruct käivitatakse pärast konstruktorit ja enne init() meetodit. PreDestroy() meetod täidetakse pärast seda, kui destroy() meetod on intellektuaalne



Lisaks on kevadel Konstruktori, @Autowired ja @PostConstruct järjekord

Tegelikult, sõltuvuse süstimise otsesest tähendusest saame teada, et objekti p süstimiseks objekti A sisse tuleb enne süstimist esmalt genereerida objekt A ja objekt p. Seega, kui liikmemuutuja p on annoteeritud @Autowried klassis A, siis @Autowired süstimine toimub pärast A ehitusmeetodi täitmist.

Kui soovid teha mõningaid initsialiseerimisoperatsioone objekti genereerimisel ja need inisialiseerimistoimingud sõltuvuse süstimisest, siis konstruktoris seda teha ei saa. Selleks saad initsialiseerimise lõpetamiseks kasutada meetodit, @PostConstruct annotatsioonid, @PostConstruct annotatsiooniga meetodid kutsutakse automaatselt välja pärast sõltuvuse süstimise lõpetamist.

Konstruktor >> @Autowired >> @PostConstruct

Näide:







Eelmine:Docker installs Redis Visual Management Tool (redis-manager)
Järgmine:Kafka auto.offset.reset väärtus on üksikasjalikult selgitatud
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com