Sobes.tech
Middle

Əgər binalar @Configuration və @Bean vasitəsilə elan olunursa, @Qualifier necə işləyir və binanın adı nədir?

sobes.tech Süni İntellekt

AI-dan cavab

@Configuration@Bean vasitəsilə elan olunan zərbələr, Spring tərəfindən, zərbəni qaytaran metodun adı ilə uyğun gələn adlarla yaradılır. Məsələn:

@Configuration
public class AppConfig {
    @Bean
    public MyService myService() {
        return new MyServiceImpl();
    }
}

Bu halda, zərbənin adı myService olur.

@Qualifier annotasiyası, kontekstdə eyni növü olan bir neçə zərbə olsa, hansı zərbənin inyeksiya ediləcəyini dəqiqləşdirmək üçün istifadə olunur. Məsələn:

@Bean
public MyService myService1() { ... }

@Bean
public MyService myService2() { ... }

@Autowired
@Qualifier("myService2")
private MyService service;

Burada, @Qualifier Spring-ə, myService2 adında olan zərbənin inyeksiya edilməsini göstərişdir.

Beləliklə, @Qualifier zərbənin adından işləyir, və bu ad, adətən, zərbəni elan edən metodun adı ilə üst-üstə düşür, əgər @Bean içində name parametri ilə başqa ad göstərilməyibsə.