Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 16470|Svare: 0

[Kilde] Java annotations@PostConstruct og detaljerte forklaringer og eksempler på @PreDestroy

[Kopier lenke]
Publisert på 04.04.2019 16:21:12 | | | |
Kort introduksjon

Java EE5 introduserer to annotasjoner, @PostConstruct og @PreDestroy, som virker på servlet-livssyklusen, og muliggjør egendefinerte operasjoner før bønnen initialiseres og før den ødelegges. Denne artikkelen forklarer hovedsakelig @PostConstruct.

API-bruksinstruksjoner

Følgende er instruksjonene for bruk av @PostConstruct API:

PostConstruct-annotasjoner brukes på metoder som må kjøres etter at avhengighetsinjeksjon er fullført for å utføre noen initialisering. Denne metoden må kalles før klassen legges inn i tjenesten. Alle klasser som støtter avhengighetsinjeksjon må støtte denne annotasjonen. Selv om klassen ikke ber om noen ressursinjeksjon, må metoden annotert med PostConstruct kalles opp. Det finnes bare én måte å annotere med denne annotasjonen på. Metoden for å anvende PostConstruct-annotasjoner må oppfylle alle følgende kriterier: metoden må ikke ha noen parametere med mindre det gjelder en EJB-interceptor, som definert av EJB-spesifikasjonen, i så fall vil den komme med et InvocationContext-objekt; Returtypen til metoden må være ugyldig; Metoden må ikke kaste et sjekket unntak; Metoden for å bruke PostConstruct kan være offentlig, beskyttet, pakke-privat eller privat; Metoden kan ikke være statisk bortsett fra applikasjonsklienten; Metoden kan være endelig; Hvis metoden kaster et ukontrollert unntak, må ikke klassen plasseres i tjenesten med mindre det er en EJB som kan håndtere unntaket og gjenopprette fra det.
Det kan oppsummeres slik:

  • Det finnes bare én måte å annotere med denne annotasjonen på;
  • Den annoterte metoden må ikke ha noen parametere;
  • Den annoterte metoden returnerer en verdi på void;
  • Den annoterte metoden må ikke kaste et sjekket unntak;
  • Den annoterte metoden må være en ikke-statisk metode;
  • Denne metoden utføres bare én gang;


Servlet-utførelsesflytskjema

Tillegget av to merknader vil bare tillate servleten å utføre flytskjemaet:



Under instansieringsprosessen av en spesifikk bønne kalles den annoterte metoden @PostConstruct etter construct-metoden og før init-metoden.

Eksempel

Kjørbare metoder skrevet basert på Spring boot kan finnes på github:https://github.com/HappySecondBrother/example

UserService-metoden (gir bufret data):

BusinessService-metoden, som kaller UserService ved @PostConstruct:

Utførelsesresultater:

Prosjektapplikasjon

I project@PostConstruct er hovedapplikasjonsscenariet å laste inn cache-data når servleten initialiseres.

Notater:

Bruken av denne annotasjonen påvirker starttidspunktet for tjenesten. Serveren skanner alle filer i WEB-INF/klasser og alle jar-pakker under WEB-INF/lib ved oppstart.





Foregående:Kan ikke injisere @Autowired i Listener
Neste:Høyytelses mysql 3. utgave kinesisk PDF
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com