Beanien skoopit ja elinkaaren hallinta
Oppikaa, miten Spring luo, rajaa ja tuhoaa beaneja sekä miten niiden elinkaareen voi liittyä callbackien avulla.
Beanien skoopit ja elinkaaren hallinta on ilmainen Spring Boot 4:n kattava opas-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Spring Boot 4:n kattava opas-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Spring Boot 4:n kattava opas-kurssilla on yhteensä 4 oppituntia.
Mikä on beanin scope?
Scope määrittää, kuinka monta bean-instanssia Spring luo ja kuinka kauan ne elävät. Oletusscope on singleton: yksi jaettu instanssi konttia kohden.
Singleton-scope
singleton-scopessa jokainen injektiopiste saa saman olion. Se sopii erinomaisesti tilattomille serviceille ja on yleisin valinta.
@Service
public class PricingService {
// one shared instance across the app
}Prototype-scope
prototype-scope luo uuden instanssin joka kerta, kun beania pyydetään. Käyttäkää sitä tilallisille tai lyhytikäisille olioille.
@Component
@Scope("prototype")
public class ReportBuilder {
}Web-sovellusten scopet
Web-sovelluksissa käytettävissä ovat myös scopet request ja session, jotka sitovat beanin eliniän vastaavasti yhteen HTTP-pyyntöön tai käyttäjän istuntoon.
- request — yksi jokaista HTTP-pyyntöä kohden
- session — yksi jokaista käyttäjän istuntoa kohden
Oikean scopen valitseminen
Valitkaa tilattomalle logiikalle oletuksena singleton. Käyttäkää muita scopeja vain, kun beanin on säilytettävä pyyntö- tai instanssikohtaista tilaa, sillä muuttuvan tilan liian laaja jakaminen aiheuttaa virheitä.
Beanin elinkaari
Spring luo beanin, injektoi sen riippuvuudet, suorittaa alustuksen callback-metodit, tarjoaa beanin sovelluksen käyttöön sen elinkaaren ajan ja suorittaa lopuksi tuhoamisen callback-metodit sovelluksen sammuessa.
Alustaminen @PostConstructilla
Merkitkää metodi annotaatiolla @PostConstruct, jotta alustustoiminto suoritetaan sen jälkeen, kun riippuvuudet on injektoitu. Tällaisia toimintoja ovat esimerkiksi yhteyden avaaminen tai välimuistin lämmittäminen.
@PostConstruct
public void init() {
System.out.println("Bean is ready");
}Siivous @PreDestroylla
@PreDestroy-metodi suoritetaan juuri ennen beanin poistamista, joten voitte vapauttaa resurssit hallitusti.
@PreDestroy
public void cleanup() {
System.out.println("Releasing resources");
}Laiska alustaminen
Singletonit luodaan oletusarvoisesti käynnistyksen yhteydessä. Kun bean merkitään annotaatiolla @Lazy, sen luomista lykätään siihen asti, kunnes sitä tarvitaan ensimmäisen kerran. Tämä voi nopeuttaa harvoin käytettyjen beanien käynnistymistä.
@Lazy
@Service
public class HeavyService {
}Prototype-beanit ja tuhoaminen
Huomioikaa, että Spring ei hallitse prototype-beanien koko tuhoamisen elinkaarta. Kontti luovuttaa ne käyttöönsä ja unohtaa ne, joten teidän on vapautettava niiden resurssit itse.
Kokonaisuuden kokoaminen
Tyypillinen singleton-service käyttää @PostConstruct-annotaatiota alustamiseen ja @PreDestroy-annotaatiota siivoukseen. Näin käynnistymisen ja sammumisen toimintaa voi hallita tarkasti.
@Service
public class CacheService {
@PostConstruct void load() {}
@PreDestroy void flush() {}
}Pikatarkistus
Testatkaa, kuinka hyvin ymmärrätte beanien scopet ja elinkaaren.
Kertaus
Opitte singleton-, prototype-, request- ja session-scopet, beanin elinkaaren sekä sen, miten siihen voi liittyä annotaatioilla @PostConstruct, @PreDestroy ja @Lazy.
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 21
- Oppitunnit
- 84
Usein kysytyt kysymykset
Onko oppitunti ”Beanien skoopit ja elinkaaren hallinta” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Spring Boot 4:n kattava opas-oppimispolun 3 oppituntia, myös oppitunnin “Beanien skoopit ja elinkaaren hallinta”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Spring Boot 4:n kattava opas-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Beanien skoopit ja elinkaaren hallinta”?
Oppikaa, miten Spring luo, rajaa ja tuhoaa beaneja sekä miten niiden elinkaareen voi liittyä callbackien avulla. Harjoittelet Spring Boot 4:n kattava opas-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Spring Boot 4:n kattava opas-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Spring Boot 4:n kattava opas-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”Beanien skoopit ja elinkaaren hallinta”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Spring Boot 4:n kattava opas-oppitunnilla?
Kyllä. Jokainen Spring Boot 4:n kattava opas-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Springin IoC-säiliöön tutustuminen
- Riippuvuuksien injektointi käytännössä
- Sovelluksen ominaisuuksien ulkoistaminen
- Beanien skoopit ja elinkaaren hallinta