Sobes.tech
Middle
381

Wat is Spring Scope?

Antwoord van AI

sobes.tech AI

In Spring bepaalt de Scope de levenscyclus en het bereik van een bean. Het regelt hoeveel exemplaren van de bean worden gemaakt en hoe ze toegankelijk zijn.

Belangrijkste typen Scope:

  • singleton: Er wordt één exemplaar van de bean gemaakt in de applicatiecontext. Dit is de standaard Scope.
  • prototype: Bij elke aanvraag wordt een nieuw exemplaar van de bean gemaakt.
  • request: Er wordt één exemplaar van de bean gemaakt per HTTP-verzoek. Alleen toepasbaar in webapplicaties.
  • session: Er wordt één exemplaar van de bean gemaakt per HTTP-sessie. Alleen toepasbaar in webapplicaties.
  • application: Er wordt één exemplaar van de bean gemaakt gedurende de volledige levensduur van de ServletContext. Alleen toepasbaar in webapplicaties.

Voorbeeld van het declareren van een bean met gespecificeerde Scope:

@Component
@Scope("prototype") // Specificatie van de prototype scope
public class MyPrototypeBean {
    // ...
}

Of in XML-configuratie:

<bean id="myPrototypeBeanBegin" class="com.example.MyPrototypeBean" scope="prototype"/>

De keuze van de juiste Scope hangt af van het gewenste gedrag en de toestand van de bean. Singleton is geschikt voor stateloze beans, en prototype voor stateful beans of wanneer isolatie van exemplaren nodig is. Request, session en application worden gebruikt in webcontexten om de levenscyclus van beans te beheren op basis van verzoeken, sessies of de hele webapplicatie.