Middle
378
Kas yra Spring Scope?
Atsakymas iš AI
sobes.tech AI
Spring'e Scope apibrėžia bean gyvenimo ciklą ir matomumo sritį. Jis valdo, kiek egzempliorių bus sukurtas ir kaip jie bus prieinami.
Pagrindiniai Scope tipai:
singleton: vienas egzempliorius bus sukurtas programos kontekste. Tai numatytasis Scope.prototype: kiekvienu užklausos metu bus sukurtas naujas egzempliorius.request: kiekvieno HTTP užklausos metu bus sukurtas vienas egzempliorius. Taikoma tik žiniatinklio programoms.session: kiekvienos HTTP sesijos metu bus sukurtas vienas egzempliorius. Taikoma tik žiniatinklio programoms.application: visoServletContextgyvavimo ciklo metu bus sukurtas vienas egzempliorius. Taikoma tik žiniatinklio programoms.
Pavyzdys, kaip deklaruoti bean su nurodytu Scope:
@Component
@Scope("prototype") // Nurodome scope kaip prototype
public class MyPrototypeBean {
// ...
}
Arba XML konfigūracijoje:
<bean id="myPrototypeBeanPradžia" class="com.example.MyPrototypeBean" scope="prototype"/>
Tinkamo Scope pasirinkimas priklauso nuo norimo elgesio ir būsenos. Singleton tinka be būsenos bean'ams, o prototype — būsenos arba kai reikalingas egzempliorių izoliavimas. Request, session ir application naudojami žiniatinklio kontekstuose, norint valdyti bean'ų gyvenimo ciklą pagal užklausas, sesijas ar visą žiniatinklio programą.