Spring Bean -livssyklusen har mange trinn som for eksempel Initialisering, løping og ødelegger. Vi kan utføre vår tilpassede oppgave mellom disse fasene for testing/feilsøking eller andre bruksformål.
For eksempel, Hvis vi ønsker å utføre noen oppgaver i starten av bønnen og noen opprydding av relaterte oppgaver på slutten, kan vi gjøre det ved bønnens initialisering eller før vi ødelegger bønneobjektet. Det gjør applikasjonen mer funksjonell og enklere å feilsøke også.
For dette formålet gir våren noen forhåndsdefinerte Grensesnitt og merknader Det gjør oppgaven vår enkel. Det er to måter å utføre disse oppgavene på:
Først starter vi med grensesnittene og ser deretter på merknadene.
Grensesnitt for Java Bean -livssyklus
Våren har to grensesnitt, Initialiserendebean og DisponableBean, som inneholder flere bruksmetoder for å utføre oppgavene under bønnens livssyklus.
For å utføre initialiseringsoppgaven, kan vi bruke AfterPropertiesset () metode for Initialiserendebean Grensesnitt på samme måte for rengjøring av ressurser. Før vi ødelegger bønneobjektet, kan vi bruke ødelegge() metode for DisponableBean grensesnitt.
La oss starte med løpende eksempler.
Implementere livssyklusmetoder ved bruk av grensesnitt
I dette tilfellet oppretter vi først en Maven-basert vårapplikasjon og oppretter en bønneansatt. Denne bønneklassen implementerer begge grensesnitt som vi diskuterte. Nå må vi implementere metodene deres også.
De AfterPropertiesset () metoden brukes til å utføre initialiseringsoppgaven og ødelegge() metode for å utføre oppgaven før du ødelegger bønneobjektet. Se kildekoden til ansattes bønneklasse.
// Ansatt.Java
Dette er hovedklassen der vi instantiserer bønnen og kaller metoden.
// SpringApp.Java
pakke com.Linuxhint;// SpringConfig.Java
Packagecom.Linuxhint;// pom.XML
Denne XML -filen som inneholder all avhengighetskode for applikasjonen.
Kjør prosjektet
Etter å ha opprettet prosjektet, er det på tide å kjøre applikasjonen for å sjekke om alle filene fungerer bra og applikasjonen fungerer som forventet. Denne applikasjonen skriver ut følgende utgang til konsollvinduet:
Produksjon:
Initialisere oppgaver gjort ..Legge merke til: Vi kalte ikke livssyklusmetodene, men implisitt ringte vårbeholderen (IOC).
Implementering av livssyklusmetoder ved hjelp av merknader
Dette er den moderne tilnærmingen der vi bruker merknadene på grensesnitt. Det betyr at det ikke er behov for flere grensesnitt for å implementeres av bønneklassen. Vi trenger bare å merke metodene for å ringe ved hjelp av @postconstruct og @predestroy -merknader.
@PostConstruct -merknaden kalles ved initialiseringstid mens @Predestroy kalles rett før du ødelegger bønneobjektet.
Merk: Før vi bruker merknadene, må vi legge til følgende avhengighet av prosjektets POM.XML -fil.
Denne pakken er ikke til stede i standardfjærpakken. Så for Java 9 og høyere versjoner, legg disse glassene i POM.XML -fil:
Våren gir ingen forhåndsinnstillingsmetode som i grensesnittetilfeltet. Vi står fritt til å lage enhver metode som har noe navn. Vi trenger bare å merke dem med merknadene for å spesifisere når vi skal ringe dem av IOC -beholderen.
Her oppretter vi initwork () -metoden for å utføre oppgaven på startnivå og sluttarbeid () -metoden for å utføre oppgaven før du ødelegger bønneobjektet.
Oppdater Ansatt.Java fil i henhold til følgende kildekode:
// Ansatt.Java
Kjør prosjektet
Kjør nå applikasjonen igjen og sjekk konsollen. Utgangen skal være lik den forrige utgangen.
Initialisere oppgaver gjort ..