Junior — Middle
Spring-də @Bean və @Component annotasiyaları arasındakı fərq nədir və hansı hallarda istifadə edilməlidir?
sobes.tech Süni İntellekt
AI-dan cavab
@Component qeydi, komponent axtarışı (component scanning) vasitəsilə sinfi avtomatik olaraq Spring-binə aşkar etmək və qeydiyyatdan keçirmək üçün istifadə olunur. Bu, birbaşa sinfin üzərinə tətbiq olunur və sinifin bini olması lazımdır.
@Bean qeydi, @Configuration ilə işarələnmiş sinifdəki metoda tətbiq olunur. Bu metod, Spring tərəfindən qeydiyyata alınacaq obyekt qaytarır.
Əsas fərqlər:
@Component— avtomatik olaraq axtarış vasitəsilə tapılan sinflər üçün.@Bean— konfiqurasiya sinifində əl ilə bina yaratmaq üçün.
Nə zaman istifadə etmək:
@Component— sinif özü komponentdir və avtomatik tapıla bilərsə.@Bean— xarici sinifdən bina yaratmaq və ya daha mürəkkəb obyekt yaradılması loqikası tələb olunursa.
Nümunə:
@Component
public class MyService {
// ...
}
@Configuration
public class AppConfig {
@Bean
public MyRepository myRepository() {
return new MyRepository();
}
}