Sobes.tech
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 бинин аталышы боюнча иштейт, ал стандарттык түрдө бинин аныктай турган методдун атына дал келет, эгер @Bean ичинде name параметри аркылуу башка ат көрсөтүлбөсө.