Sobes.tech
Junior — Middle

Spring-də singleton və prototype dəyərlərinə malik olan bean-lər üçün sahə tərifinin nə demək olduğunu və bunun onların davranışına necə təsir etdiyini açıqlayın.

sobes.tech Süni İntellekt

AI-dan cavab

Spring-də, bir bean-in görünürlük sahəsi (scope), bean nümunəsinin həyat müddətini və görünürlüğünü müəyyən edir.

  • singleton — bu, standart sahədir. Hər dəfə bu scope ilə tələb olunan bean, Spring konteynerinin bütün həyat dövrü boyunca eyni nümunəni qaytarır. Bu, o deməkdir ki, bean bir dəfə yaradılır və təkrar istifadə olunur.

  • prototype — hər tələbdə yeni nümunə yaradılır. Spring bu beanu-nun həyat dövrünü idarə etmir, ona görə də hər getBean çağırışı yeni obyekt qaytarır.

Təsir:

  • Singleton beanu-lar resursları qənaət edir və bütün istifadəçilər üçün ümumi vəziyyət təmin edir.
  • Prototype beanu-lar, hər istifadə üçün müstəqil vəziyyətə malik yeni nümunəyə ehtiyac olduqda faydalıdır.

Nümunə:

@Component
@Scope("prototype")
public class MyPrototypeBean {
    // hər `getBean` çağırışı yeni obyekt yaradacaq
}

@Component
@Scope("singleton")
public class MySingletonBean {
    // bütün konteyner üçün tək obyekt
}

Beləliklə, scope seçimi, obyektlərin necə və nə vaxt yaradılacağını və tətbiqdə nə qədər uzun müddət yaşayacağını təsir edir.