Когда вы просто автоматически проводите с помощью аннотации @Autowired
- это означает автоматическое подключение по типу.
Если мы хотим выполнить автоматическое подключение по имени, нам нужно использовать аннотации @Autowired
и @Qualifier
вместе.
Пример:
@Configuration
public class JavaConfig {
@Bean
@Qualifier("stackoverflow")
public Company company(){
}
@Bean
public Employee employee1(@Autowired Company company){
}
@Bean
public Employee employee2(@Autowired @Qualifier("stackoverflow") Company company){
}
}
Обновлено: Также вы можете использовать параметр @Bean
Аннотация:
@Bean
public Company company(){
return new Company();
}
@Bean(autowire = Autowire.BY_NAME)
public Employee employee1(@Autowired Company company){
return new Employee();
}
Дополнительную информацию см. Здесь здесь