Junior — Middle
Springдеги singleton жана prototype маанилерине ээ биндер үчүн чектөө аныктамасы эмне экенин жана ал алардын жүрүм-турумуна кандай таасир этетин түшүндүрүңүз.
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 тандоо, объекттер кандай жана качан түзүлөт жана алардын тиркемеде канча убакыт жашай турганын таасир этет.