Sobes.tech
Junior

Java və Spring kontekstində bean nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Java və Spring kontekstində, bean Spring IoC (Inversion of Control) konteyneri tərəfindən idarə olunan obyektdir.

Əsas nöqtələr:

  • Obyekt: Bu, hər hansı bir tipik Java obyektidir.
  • Spring tərəfindən idarəetmə: Spring Konteyner məsuliyyət daşıyır:
    • Bean nümunələrinin yaradılması.
    • Konfiqurasiya (asılılıqların injeksiyası).
    • Həyat dövrünün idarə olunması (başlanğıc, istifadə, yekunlaşdırma).
  • Konfiqurasiya: Beanlər XML, annotasiyalar (@Component, @Service, @Repository, @Controller, @Bean) və ya Java əsaslı konfiqurasiya ilə müəyyən edilir.
  • Vəziyyətlər: Əksər beanlər Spring Konteyner kontekstində singletondur, lakin digər scope-lara da sahib ola bilərlər: prototype, request, session və global session.

@Component annotasiyasından istifadə edərək bean-in təyini nümunəsi:

// Spring Konteyneri tərəfindən bean kimi tanınan sinif
@Component
public class MyService {

    // Spring-in injeksiya edəcəyi asılılıq
    private final MyRepository myRepository;

    // Asılılığı injeksiya etmək üçün konstruktor
    public MyService(MyRepository myRepository) {
        this.myRepository = myRepository;
    }

    public void doSomething() {
        myRepository.getData();
    }
}

Java əsaslı konfiqurasiya istifadə edərək bean-in təyini nümunəsi:

// Konfiqurasiya sinfi
@Configuration
public class AppConfig {

    // Bean-i elan edən metod
    @Bean
    public MyService myService(MyRepository myRepository) {
        return new MyService(myRepository);
    }

    @Bean
    public MyRepository myRepository() {
        return new MyRepository();
    }
}

Beanlər Spring tətbiqinizin skeletini təşkil edir və komponentlərin əlaqəliliyini və idarə olunmasını təmin edir.