Автосвязывание бинов

Ранее мы уже изучили, как объявлять и связывать бины с помощью таких тегов, как <constructor-arg> и <property> в XML-файле.

Но Spring Framework позволяет нам осуществлять автоматическое связывание бинов (autowiring). Это позволяет нам существенно сократить объем кода в конфигурационном XML-файле, что особенно помогает при написании больших приложений.

Существует несколько режимов автоматического связывания в Spring:

(пусто)

Этот режим установлен по умолчанию и означает отсутствие автоматического связывания. Т.е. мы должны использовать прямую ссылку на бин для связывания. Такой способ мы уже рассматривали в статье внедрение зависимостей.


byName(ссылка на пример)

Используется автоматическое связывание по имени бина. Контейнер Spring ищет в XML-файле бин с указанным именем. И если находит бин с таким же именем – производит автоматическое связывание.


byType(ссылка на пример)

Автоматическое связывание по типу. В этом случае контейнер Spring ищет совпадение по типу. В случае, если он находит – происходит автоматическое связывание. Если в XML-файле определены несколько бинов с таким типом, то мы получаем исключение (exception).


constructor (ссылка на пример)

Здесь все происходит также, как и при использовании режима ‘byType’, с тем отличием, что поиск идет по аргументам конструктора. Если в XML-файле находится несколько таких бинов – мы получаем ошибку (error).


autodetect

В этом режиме сначала происходит связывание в режиме ‘constructor’, а затем (если автосвязывание не произошло) в режиме ‘byType’.


Для более ясного понимания темы, настоятельно рекомендуем ознакомиться с примерами приложений, указанных по ссылкам.

results matching ""

    No results matching ""