Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 16470|Svar: 0

[Källa] Java annotations@PostConstruct och detaljerade förklaringar och exempel på @PreDestroy

[Kopiera länk]
Publicerad på 2019-04-04 16:21:12 | | | |
Kort introduktion

Java EE5 introducerar två annoteringar, @PostConstruct och @PreDestroy, som påverkar servlets livscykel och möjliggör anpassade operationer innan bönan initieras och innan den förstörs. Den här artikeln förklarar huvudsakligen @PostConstruct.

API-användningsinstruktioner

Följande är instruktionerna för att använda @PostConstruct API:et:

PostConstruct-annotationer används på metoder som måste köras efter att beroendeinjektionen är klar för att utföra någon initiering. Denna metod måste anropas innan klassen läggs in i tjänsten. Alla klasser som stödjer beroendeinjektion måste stödja denna annotation. Även om klassen inte begär någon resursinjektion måste metoden som annoteras med PostConstruct anropas. Det finns bara ett sätt att annotera med denna anteckning. Metoden för att tillämpa PostConstruct-annotationer måste uppfylla alla följande kriterier: metoden får inte ha några parametrar om det inte gäller en EJB-interceptor, enligt EJB-specifikationen, i vilket fall den kommer med ett InvocationContext-objekt; Metodens returtyp måste vara void; Metoden får inte kasta ett kontrollerat undantag; Metoden för att applicera PostConstruct kan vara offentlig, skyddad, paketprivat eller privat; Metoden kan inte vara statisk förutom applikationsklienten; Metoden kan vara slutgiltig; Om metoden kastar ett okontrollerat undantag får klassen inte placeras i tjänsten om det inte är en EJB som kan hantera undantaget och återhämta sig från det.
Den kan sammanfattas så här:

  • Det finns bara ett sätt att annotera med denna annotation;
  • Den annoterade metoden får inte ha några parametrar;
  • Den annoterade metoden returnerar värdet void;
  • Den annoterade metoden får inte kasta ett kontrollerat undantag;
  • Den annoterade metoden måste vara en icke-statisk metod;
  • Denna metod utförs endast en gång;


Servlet-exekveringsflödesschema

Tillägget av två annotationer tillåter endast servleten att köra flödesschemat:



Under instansieringsprocessen av en specifik böna kallas den annoterade metoden @PostConstruct efter konstruktionsmetoden och före init-metoden.

Exempel

Exekverbara metoder skrivna baserat på Spring boot finns på github:https://github.com/HappySecondBrother/example

UserService-metoden (tillhandahåller cachad data):

BusinessService-metoden, anropar UserService genom @PostConstruct:

Genomföranderesultat:

Projektapplikation

I project@PostConstruct är huvudapplikationsscenariot att ladda cachedata när servleten initieras.

Anteckningar:

Att använda denna annotering påverkar starttiden för tjänsten. Servern skannar alla filer i WEB-INF/klasser och alla jar-paket under WEB-INF/lib vid uppstart.





Föregående:Kan inte injicera @Autowired i Listener
Nästa:Högpresterande mysql 3:e upplaga kinesisk PDF
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com