Sobes.tech
Junior

Java va Spring kontekstida bean nima?

sobes.tech AI

AIdan javob

Java va Spring kontekstida, bean bu Spring IoC (Inversion of Control) konteyneri tomonidan boshqariladigan obyektdir.

Asosiy nuqtalar:

  • Obyekt: Bu har qanday odatiy Java obyektidir.
  • Spring tomonidan boshqarish: Spring Kontayner mas'ul:
    • Bean nusxalarini yaratish.
    • Konfiguratsiya (bog'liqliklarni injektsiya qilish).
    • Hayot aylanishini boshqarish (ishga tushirish, foydalanish, yakunlash).
  • Konfiguratsiya: Beanlar XML, annotatsiyalar (@Component, @Service, @Repository, @Controller, @Bean) yoki Java asosidagi konfiguratsiya orqali aniqlanadi.
  • Holatlar: Ko'pchilik beanlar Spring Kontayner kontekstida singleton bo'lib, ular boshqa scope (doira) ga ega bo'lishi mumkin: prototype, request, session va global session.

@Component annotatsiyasidan foydalanib bean aniqlash misoli:

// Spring Kontayner tomonidan bean sifatida tanilgan sinf
@Component
public class MyService {

    // Spring injektsiya qiladigan bog'liqlik
    private final MyRepository myRepository;

    // Bog'liqlikni injektsiya qilish uchun konstruktor
    public MyService(MyRepository myRepository) {
        this.myRepository = myRepository;
    }

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

Java asosidagi konfiguratsiya yordamida bean aniqlash misoli:

// Konfiguratsiya sinfi
@Configuration
public class AppConfig {

    // Bean e'lon qiladigan metod
    @Bean
    public MyService myService(MyRepository myRepository) {
        return new MyService(myRepository);
    }

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

Beanlar Spring ilovangizning asosiy tuzilishini tashkil qiladi, komponentlarning bog'liqligini va boshqarilishini ta'minlaydi.