Neseniai susidūriau su šia anotacija įmonės projekto @PostConstruct ir buvau suglumęs.
Peržiūra:
Pasikonsultavus, santrauka yra tokia:
1. Pradedant nuo Java EE5 specifikacijos, dvi anotacijos, turinčios įtakos servleto gyvavimo ciklui, @PostConstruct ir @PreDestroy, naudojamos nestatiniam void() metodui modifikuoti. Yra du būdai jį parašyti:
@PostConstruct
public void someMethod(){}
arba
public @PostConstruct void someMethod(){}
@PostConstruct modifikuotas metodas vykdomas, kai serveris įkelia servletą, irServeris jį vykdys tik vieną kartą。 PostConstruct vykdomas po konstruktoriaus ir prieš init() metodą. PreDestroy() metodas vykdomas po to, kai destroy() metodas yra intelektualus
Be to, konstruktoriaus, @Autowired ir @PostConstruct užsakymas pavasarį
Tiesą sakant, iš pažodinės priklausomybės injekcijos reikšmės galime žinoti, kad norint įšvirkšti objektą p į objektą A, prieš atliekant injekciją pirmiausia reikia sugeneruoti objektą A ir objektą p. Taigi, jei nario kintamasis p yra anotuotas @Autowried A klasėje, tada @Autowired injekcija įvyksta po A konstravimo metodo vykdymo.
Jei generuodami objektą norite atlikti kai kurias inicijavimo operacijas, o šios inicijavimo operacijos priklauso nuo priklausomybės injekcijos, konstruktoriuje to padaryti negalima. Norėdami tai padaryti, galite naudoti metodą @PostConstruct komentarais, kad užbaigtumėte inicijavimą, @PostConstruct anotuoti metodai bus automatiškai iškviesti baigus priklausomybės injekciją.
Konstruktorius >> @Autowired >> @PostConstruct
Pavyzdys:
|