Middle
Ի՞նչ է Spring Scope-ը։
sobes.tech AI
Պատասխան AI-ից
Spring-ում Scope-ը սահմանում է բինի կյանքի ցիկլը և տեսանելիության տարածքը: Այն վերահսկում է, թե քանի օրինակ է ստեղծվելու բինից և ինչպես հասանելի կլինեն:
Հիմնական Scope տեսակները՝
singleton: Մի օրինակ բին ստեղծվում է ծրագրի կոնտեքստում: Սա նախնական Scope-ն է:prototype: Յուրաքանչյուր պահանջով ստեղծվում է նոր բին օրինակ:request: Յուրաքանչյուր HTTP պահանջով ստեղծվում է բին օրինակ: Միայն վեբ հավելվածներում:session: Յուրաքանչյուր HTTP սեսիայով ստեղծվում է բին օրինակ: Միայն վեբ հավելվածներում:application:ServletContext-ի ողջ կյանքի ցիկլի ընթացքում ստեղծվում է բին օրինակ: Միայն վեբ հավելվածներում:
Նմուշ՝ նշելով Scope:
@Component
@Scope("prototype") // Նշում է որպես prototype
public class MyPrototypeBean {
// ...
}
Կամ XML կոնֆիգուրացիայում:
<bean id="myPrototypeBeanԱմիս" class="com.example.MyPrototypeBean" scope="prototype"/>
Ընտրությունը՝ համապատասխան Scope-ը, կախված է ցանկալի վարքագծից և բինի վիճակից: Singleton-ը հարմար է stateless բիների համար, իսկ prototype-ը՝ stateful կամ երբ անհրաժեշտ է օրինակների մեկուսացում: Request, session և application օգտագործվում են վեբ կոնտեքստերում՝ բիների կյանքի ցիկլը կառավարելու համար՝ ըստ պահանջների, սեսիաների կամ ամբողջ վեբ հավելվածի։