В нашей кодовой базе я вижу, что мы напрямую внедряем зависимости в конструктор вместо использования @Autowired. Мой вопрос: как Spring определяет, какую зависимость вводить, если существует несколько реализаций? Вот пример кода:
Код: Выделить всё
public class UserDetailsService {
private final RestTemplate restTemplate;
public UserDetailsService(RestTemplate restTemplate) {
this.restTemplate = restTemplate;
}
Предположим, есть 2 разных пользовательских аннотированных класса RestTemplate, возвращающих 2 разных его варианта. Предпочитает ли Spring одну реализацию другой или она случайным образом выбирает одну реализацию и придерживается ее? Я понимаю, что мы можем использовать @Autowired с @Qualifier, чтобы выбрать наши предпочтения, но каковы предпочтения Spring по умолчанию и есть ли они вообще?
Подробнее здесь:
https://stackoverflow.com/questions/714 ... tion-to-in