Sobes.tech
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: A ServletContext teljes é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.