Как настроить класс как Spring Bean? | OTUS

Как настроить класс как Spring Bean?

Термин "бин" используется в Spring для ссылки на любой компонент, который управляется контейнером. То есть бины – это объекты, являющиеся основой приложения и управляемые Spring IoC-контейнером. Как правило, на определенном уровне бины придерживаются спецификации JavaBean, однако это необязательно, особенно когда для связывания бинов друг с другом разработчик планирует использовать Constructor Injection.

Чтобы получить экземпляр бина, применяют ApplicationContext. При этом IoC-контейнер управляет жизненным циклом бина, а также областью видимости и внедрением.

Если говорить о конфигурационном файле Spring Bean, то он имеет особое значение. В частности, он определяет все бины, которые будут инициализированы в Spring Context. При этом в процессе создания экземпляра Spring ApplicationContext конфигурационный xml-файл будет прочитан, следовательно, будут выполнены необходимые инициализации, указанные в этом файле. Также в этом файле, отдельно от базовой конфигурации, могут быть настройки локализации, описания перехватчиков (interceptors) и прочее.

Итак, существует ряд способов работы с классами в Spring Framework:

  • XML-конфигурация,
  • Java based-конфигурация
  • конфигурация Annotation based.

Давайте рассмотрим их чуть подробнее.

XML-конфигурация

Screenshot_1-1801-7d9d11.png

Java based-конфигурация

В данном случае все настройки и указания бинов прописывают в Java-коде:

Screenshot_2-1801-ae0ea1.png

При этом для извлечения бина из контекста применяют следующий подход:

Screenshot_3-1801-d02796.png

Annotation based-конфигурация

Ее можно использовать внутри кода аннотации @Repository, @Component, @Service, @Controller, что делается для указания классов в качестве Spring-бинов. А для их поиска и управления контейнером в xml-файл прописывают следующую настройку:

Screenshot_4-1801-6c3bdb.png

Источник

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто