Sobes.tech
Middle

Čo je Spring Scope?

sobes.tech AI

Odpoveď od AI

V Springu určuje Scope životný cyklus a oblasť viditeľnosti beana. Riadi, koľko inštancií beana bude vytvorených a ako budú dostupné.

Hlavné typy Scope:

  • singleton: Vytvorí sa jedna inštancia beana v kontexte aplikácie. Toto je predvolený Scope.
  • prototype: Pri každej požiadavke sa vytvorí nová inštancia beana.
  • request: Pre každý HTTP požiadok sa vytvorí jedna inštancia beana. Použiteľné iba v webových aplikáciách.
  • session: Pre každú HTTP reláciu sa vytvorí jedna inštancia beana. Použiteľné iba v webových aplikáciách.
  • application: Vytvorí sa jedna inštancia beana počas celého životného cyklu ServletContext. Použiteľné iba v webových aplikáciách.

Príklad deklarácie beana so špecifikovaným Scope:

@Component
@Scope("prototype") // Určenie scope ako prototype
public class MyPrototypeBean {
    // ...
}

Alebo v XML konfigurácii:

<bean id="myPrototypeBeanZačiatok" class="com.example.MyPrototypeBean" scope="prototype"/>

Výber vhodného Scope závisí od požadovaného správania a stavu beana. Singleton je vhodný pre beany bez stavu, a prototype pre stavy alebo keď je potrebná izolácia inštancií. Request, session a application sa používajú v webových kontextoch na riadenie životného cyklu beana podľa požiadaviek, relácií alebo celej webovej aplikácie.