Вопрос проверяет понимание механизмов разрешения конфликтов бинов в Spring при наличии нескольких стартеров, регистрирующих бины одного типа.
Когда два стартера регистрируют бины одного типа, Spring не может автоматически выбрать, какой бин внедрить. Это приводит к исключению NoUniqueBeanDefinitionException.
@Configuration
public class AppConfig {
@Bean
@Primary
public MyService primaryService() {
return new MyServiceImpl();
}
@Bean
public MyService secondaryService() {
return new AnotherServiceImpl();
}
}
@Component
public class Client {
@Autowired
@Qualifier("secondaryService")
private MyService service;
}Используйте @Primary для задания бина по умолчанию и @Qualifier для точного выбора. Это обеспечивает гибкость и избегает ошибок при использовании сторонних стартеров.