Автопостроение bean-объектов в Spring Framework (autowiring) работает следующим образом: 2
- По имени (byName). 2 Spring ищет бин с таким же именем, как у свойства, которое нужно автосвязать. 1 Например, если для определения бина задано автосвязывание по имени и он содержит свойство master (то есть имеет метод setMaster()), Spring ищет определение бина с именем master и использует его для установки свойства. 1
- По типу (byType). 12 Позволяет автосвязать свойство, если в контейнере существует ровно один бин типа свойства. 1 Если таких бинов несколько, выбрасывается фатальное исключение. 1 Если подходящих бинов нет, ничего не происходит (свойство не устанавливается). 1
- Через конструктор (constructor). 12 Работает аналогично режиму byType, но ищет тип класса аргументов конструктора. 2 Если не обнаружено ни одного или более чем одного бина, выбрасывается ошибка, в противном случае происходит автосвязывание по типу для всех аргументов конструктора. 2
Для включения автопостроения в приложении Spring используется аннотация @Autowired. 24