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.