Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 20361|Atsakyti: 0

[Šaltinis] "Java" pažymi skirtumą tarp @PostConstruct ir statinių konstruktorių

[Kopijuoti nuorodą]
Paskelbta 2021-7-30 10:48:11 | | | |
Neseniai susidūriau su šia anotacija įmonės projekto @PostConstruct ir buvau suglumęs.

Peržiūra:

"Java" annotations@PostConstruct ir išsamūs paaiškinimai bei @PreDestroy pavyzdžiai
https://www.itsvse.com/thread-7386-1-1.html


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:







Ankstesnis:"Docker" įdiegia "Redis" vizualinio valdymo įrankį (redis-manager)
Kitą:Išsamiai paaiškinta Kafkos auto.offset.reset reikšmė
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com