Sobes.tech
Junior — Middle

Spring'da singleton va prototype qiymatlari bilan bo'lgan beanlar uchun doira ta'rifi nima anglatadi va bu ularning xulq-atvoriga qanday ta'sir qiladi?

sobes.tech AI

AIdan javob

Spring'da, bean'ning ko'rinish doirasi (scope) bean'ning hayot davomiyligi va ko'rinishini belgilaydi.

  • singleton — bu standart doira. Har safar bu scope bilan so'ralgan bean, Spring konteynerining butun hayot davomida bir xil nusxasini qaytaradi. Bu shuni anglatadiki, bean bir marta yaratiladi va takror ishlatiladi.

  • prototype — har so'rovda yangi nusxa yaratiladi. Spring bu bean'larning hayot aylanishini boshqarmaydi, shuning uchun har bir getBean chaqiruvi yangi ob'ektni qaytaradi.

Xulosa:

  • Singleton bean'lar resurslarni tejaydi va barcha foydalanuvchilar uchun umumiy holatni ta'minlaydi.
  • Prototype bean'lar har foydalanishda mustaqil holatga ega yangi nusxaga ehtiyoj bo'lsa, foydalidir.

Misol:

@Component
@Scope("prototype")
public class MyPrototypeBean {
    // har `getBean` chaqiruvi yangi ob'ekt yaratadi
}

@Component
@Scope("singleton")
public class MySingletonBean {
    // butun konteyner uchun bitta ob'ekt
}

Shunday qilib, scope tanlovi, ob'ektlar qanday va qachon yaratilishini va ular dasturda qancha davom yashashini ta'sir qiladi.