Middle
Агар биноҳо тавассути @Configuration ва @Bean эълон шаванд, чӣ гуна кор мекунад @Qualifier ва номи бино чӣ аст?
sobes.tech AI
Ҷавоб аз AI
Ҳангоми эълон кардани бонҳо тавассути @Configuration ва @Bean, Spring онҳоро бо номҳое месозад, ки мувофиқи номи усуле мебошанд, ки бонро бармегардонад. Масалан:
@Configuration
public class AppConfig {
@Bean
public MyService myService() {
return new MyServiceImpl();
}
}
Дар ин ҳолат, номи бон myService аст.
Аннотацияи @Qualifier барои муайян кардани он ки кадом бон бояд ворид карда шавад, истифода мешавад, агар дар контекст чанд бон аз як навъ бошанд. Масалан:
@Bean
public MyService myService1() { ... }
@Bean
public MyService myService2() { ... }
@Autowired
@Qualifier("myService2")
private MyService service;
Ин ҷо, @Qualifier ба Spring нишон медиҳад, ки бояд бон бо номи myService2 ворид карда шавад.
Бинобар ин, @Qualifier дар асоси номи бон кор мекунад, ки ба таври пешфарз бо номи усуле, ки бонро эълон мекунад, мувофиқат мекунад, агар ба параметри name дар @Bean дигар нагуфта шавад.