Главная » Spring » Автоматическое определение компонентов Spring

0

Когда в конфигурацию Spring добавляется элемент <context: annotation-config>, он сообщает фреймворку о необходимости учи- тывать аннотации в компонентах при их связывании. Даже при том, что применение элемента <context:annotation-config> способно помочь избавиться от большинства элементов <property> и <constructor-arg> в файле конфигурации, это не избавляет от необходимости объяв- лять компоненты с помощью элемента <bean>.

Но у фреймворка Spring есть в запасе еще одна хитрость. Эле- мент <context:component-scan> делает все то же, что и элемент <context: annotation-config>, плюс он настраивает фреймворк на автоматиче- ское определение компонентов и их объявление. Это означает, что большинство (если не все) компонентов в приложении на основе Spring можно объявить и связать без использования элемента <bean>.

Чтобы включить режим автоматического определения компонен- тов, необходимо вместо элемента <context:annotation-config> добавить элемент  <context:component-scan>:

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

<context:component-scan

base-package="com.springinaction.springidol">

</context:component-scan>

</beans>

Элемент <context:component-scan> заставляет фреймворк просмот- реть пакет и все вложенные в него пакеты package и отыскать классы, которые можно автоматически зарегистрировать в виде компонентов в контейнере Spring. Атрибут base-package  элемента

<context:component-scan>  определяет пакет, откуда следует начинать поиск.

Как элемент <context:component-scan> определяет, какие классы ре- гистрировать в виде компонентов Spring?

Источник:   Уоллс К., Spring в действии. – М.: ДМК Пресс, 2013. – 752 с.: ил.

По теме:

  • Комментарии