Junior — Middle
Ko nozīmē definēt apgabalu Spring, kad runa ir par singleton un prototype vērtībām, un kā tas ietekmē to uzvedību?
sobes.tech AI
Atbilde no AI
Springā, redzamības (scope) joma nosaka, cik ilgi un kā ir redzams piemērs (instance) bean.
-
singleton — tas ir noklusējuma diapazons. Katru reizi, kad tiek pieprasīts šāda scope beans, Spring atgriež to pašu piemēru visa konteineru dzīves cikla laikā. Tas nozīmē, ka beans tiek izveidots vienreiz un tiek atkārtoti izmantots.
-
prototype — katru reizi, kad tiek pieprasīts, tiek izveidots jauns beans piemērs. Spring neuzrauga šo bean dzīves ciklu pēc to izveides, tāpēc katrs
getBeanizsaukums atgriež jaunu objektu.
Ietekme uz uzvedību:
- Singleton beans taupa resursus un nodrošina kopīgu stāvokli visiem lietotājiem.
- Prototype beans ir noderīgi, ja nepieciešams jauns piemērs ar neatkarīgu stāvokli katram lietojumam.
Piemērs:
@Component
@Scope("prototype")
public class MyPrototypeBean {
// katrs `getBean` izsaukums izveidos jaunu objektu
}
@Component
@Scope("singleton")
public class MySingletonBean {
// viens objekts visam konteineram
}
Tādējādi, scope izvēle ietekmē to, kā un kad tiek veidoti objekti un cik ilgi tie dzīvo lietojumprogrammā.