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.