Встречается на собеседованиях • сегодня

Как Spring определяет, что внедряемый объект является требуемым

Spring определяет зависимости через механизм Dependency Injection (DI) на основе:

  1. Типа - ищет bean подходящего типа в контексте
  2. @Qualifier - если есть несколько bean одного типа
  3. Имени поля - если не указан @Qualifier, использует имя поля для поиска

Пример:

java
@Service
public class MyService {
    @Autowired // внедрение по типу
    private MyRepository repository;

    @Autowired
    @Qualifier("secondaryRepo") // явное указание
    private MyRepository anotherRepo;
}

Если подходящий bean не найден - выбрасывается исключение. Можно сделать зависимость опциональной через @Autowired(required = false). В Spring 4.3+ для конструкторов @Autowired можно не указывать.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы