Hiljuti sattusin selle annotatsiooni peale ühes ettevõtte projektis @PostConstruct ja olin segaduses.
Läbivaatamine:
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:
|