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

Utsikt: 20361|Svar: 0

[Källa] Java annoterar skillnaden mellan @PostConstruct och statiska konstruktörer

[Kopiera länk]
Publicerad den 2021-7-30 10:48:11 | | | |
Nyligen stötte jag på denna anteckning i ett företagsprojekt@PostConstruct och jag blev förbryllad.

Recension:

Java annotations@PostConstruct och detaljerade förklaringar och exempel på @PreDestroy
https://www.itsvse.com/thread-7386-1-1.html


Efter konsultation är sammanfattningen följande:

1. Med utgångspunkt i Java EE5-specifikationen används två annotationer som påverkar servletens livscykel, @PostConstruct och @PreDestroy, för att modifiera en icke-statisk void()-metod. Det finns två sätt att skriva den:

@PostConstruct

public void someMethod(){}

eller

public @PostConstruct void someMethod(){}

Metoden @PostConstruct modifierad körs när servern laddar servleten, ochDet kommer bara att köras en gång av servern。 PostConstruct exekveras efter konstruktorn och före metoden init(). PreDestroy()-metoden utförs efter att destroy()-metoden är intellektuell



Dessutom är ordningen Constructor, @Autowired och @PostConstruct på våren

Faktum är att vi utifrån den bokstavliga betydelsen av beroendeinjektion kan veta att för att injicera objekt p i objekt A, måste först objekt A och objekt p genereras innan injektionen kan utföras. Så, om en medlemsvariabel p annoteras @Autowried i klass A, sker @Autowired injektion efter att A:s konstruktionsmetod har utförts.

Om du vill slutföra vissa initialiseringsoperationer när du genererar ett objekt, och dessa initialiseringsoperationer är beroende av beroendeinjektion, så kan du inte göra det i konstruktorn. För att göra detta kan du använda en metod @PostConstruct annoteringar för att slutföra initialiseringen, @PostConstruct annoterade metoder anropas automatiskt efter att beroendeinjektionen är klar.

Konstruktör >> @Autowired >> @PostConstruct

Exempel:







Föregående:Docker installerar Redis visuella hanteringsverktyg (redis-manager)
Nästa:Kafkas auto.offset.reset-värde förklaras i detalj
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