Sobes.tech
Middle

Mis on Spring Scope?

sobes.tech AI

Vastus AI-lt

Springis määrab Scope, mis defineerib beani elutsükli ja vaateala. See kontrollib, kui palju eksemplare beani kohta luuakse ja kuidas need kättesaadavad on.

Peamised Scope tüübid:

  • singleton: Üks eksemplar luuakse rakenduse kontekstis. See on vaikimisi Scope.
  • prototype: Iga taotluse korral luuakse uus eksemplar.
  • request: Iga HTTP taotluse kohta luuakse üks eksemplar. Kehtib ainult veebirakendustes.
  • session: Iga HTTP sessiooni kohta luuakse üks eksemplar. Kehtib ainult veebirakendustes.
  • application: Kogu ServletContext elutsükli jooksul luuakse üks eksemplar. Kehtib ainult veebirakendustes.

Näide bean deklaratsioonist koos määratud Scope'iga:

@Component
@Scope("prototype") // Määrame scope'iks prototype
public class MyPrototypeBean {
    // ...
}

Või XML konfiguratsioonis:

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

Õige Scope valik sõltub soovitud käitumisest ja olekust. Singleton sobib stateless beani jaoks, ja prototype — stateful või kui on vaja instantsi isolatsiooni. Request, session ja application kasutatakse veebikontekstides, et hallata beani elutsüklit vastavalt taotluste, sessioonide või kogu veebirakenduse jaoks.