Middle
Mi az a Spring Scope?
sobes.tech MI
Válasz az MI-től
A Springban a Scope határozza meg egy bean életciklusát és láthatósági területét. Ellenőrzi, hogy hány példányt hoz létre a beanből, és hogyan lesznek elérhetők.
Fő Scope típusok:
singleton: Egy példány jön létre az alkalmazás kontextusában. Ez az alapértelmezett Scope.prototype: Minden kérésnél új példány jön létre.request: Minden HTTP kéréshez egy példány jön létre. Csak webalkalmazásokban alkalmazható.session: Minden HTTP munkamenethez egy példány jön létre. Csak webalkalmazásokban alkalmazható.application: AServletContextteljes életciklusa alatt egy példány jön létre. Csak webalkalmazásokban alkalmazható.
Példa bean deklarációra Scope megadásával:
@Component
@Scope("prototype") // Prototype scope megadása
public class MyPrototypeBean {
// ...
}
Vagy XML konfigurációban:
<bean id="myPrototypeBeanKezdete" class="com.example.MyPrototypeBean" scope="prototype"/>
A megfelelő Scope kiválasztása a kívánt viselkedéstől és állapottól függ. A singleton alkalmas stateless bean-ekhez, míg a prototype stateful vagy izolációt igénylő esetekhez. A request, session és application a webkörnyezetekben használatos a bean életciklusának kezelésére a kérések, munkamenetek vagy az egész webalkalmazás szerint.