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.