Sobes.tech
Junior — Middle

Таърифи доира барои биноҳо бо арзишҳои singleton ва prototype дар Spring чӣ маъно дорад ва чӣ гуна ин ба рафторҳои онҳо таъсир мерасонад?

sobes.tech AI

Ҷавоб аз AI

Дар Spring, соҳати назорат (scope) ёки доираи намоёнӣ муайян мекунад, ки чӣ қадар вақт ва чӣ гуна намоён аст нусхаи бин.

  • singleton — ин доираи пешфарз аст. Ҳар вақте ки бин бо ин scope талаб карда шавад, Spring ҳамон нусхаи якхела дар тамоми давраи ҳаёти контейнери бармегардонад. Ин маънои онро дорад, ки бин як бор сохта мешавад ва такрор истифода мешавад.

  • prototype — дар ҳар дархост, нусхаи нав сохта мешавад. Spring пас аз сохтан, давраи ҳаёти ин биноҳоро идора намекунад, бинобар ин ҳар даъват ба getBean объекти навро бармегардонад.

Таъсир дар рафтор:

  • Бинҳои singleton захираҳоро сарфа мекунанд ва ҳолати умумиро барои ҳама корбарон таъмин мекунанд.
  • Бинҳои prototype барои вақте ки нусхаи нав бо ҳолати мустақил барои ҳар истифода лозим аст, муфиданд.

Масалан:

@Component
@Scope("prototype")
public class MyPrototypeBean {
    // ҳар даъват ба getBean объекти навро месозад
}

@Component
@Scope("singleton")
public class MySingletonBean {
    // як объекти барои тамоми контейнери
}

Интихоби scope таъсир мерасонад ба он, ки чӣ гуна ва кай объектҳо сохта мешаванд ва чӣ қадар дар барнома зиндагӣ мекунанд.