Sobes.tech
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 getBean izsaukums 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ā.