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 cykluServletContext. 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.