Главная » Spring » Настройка поддержки аннотаций в Spring MVC

0

Как упоминалось выше, сервлет DispatcherServlet обращается к од- ному или нескольким механизмам отображения с целью определить, какому контроллеру передать запрос для обработки. В состав Spring входят несколько реализаций механизмов отображения, включая перечисленные ниже.

# BeanNameUrlHandlerMapping – отображает контроллеры на адреса

URL, опираясь на имена компонентов контроллеров.

# ControllerBeanNameHandlerMapping – подобно BeanNameUrlHandler- Mapping, отображает контроллеры на адреса URL, также опира- ясь на имена компонентов контроллеров. Но в данном случае не требуется, чтобы имена компонентов подбирались в соот- ветствии с соглашенияим об адресах URL.

# ControllerClassNameHandlerMapping – отображает контроллеры на адреса URL, используя имена классов контроллеров.

#  DefaultAnnotationHandlerMapping  – отображает запросы на конт-

роллеры  и  методы  контроллеров,  отмеченные  аннотацией

@RequestMapping.

# SimpleUrlHandlerMapping – отображает контроллеры на адреса URL, используя свойство-коллекцию, объявленное в контекс- те приложения Spring.

Использование любого из этих механизмов отображения обычно сводится к его настройке как компонента Spring. Но если требуемый компонент механизма отображения не будет найден, тогда сервлет DispatcherServlet автоматически создаст и будет использовать Bean- NameUrlHandlerMapping и DefaultAnnotationHandlerMapping. К счастью, нас в первую очередь интересуют аннотированные классы контролле- ров, поэтому реализация DefaultAnnotationHandlerMapping, используемая сервлетом DispatcherServlet по умолчанию, подходит как нельзя лучше.

DefaultAnnotationHandlerMapping отображает запросы на методы кон- троллеров, отмеченные аннотацией @RequestMapping (с которой мы встретимся в следующем разделе). Но в Spring MVC аннотации могут применяться не только для отображения запросов на мето- ды. В процессе создания контроллеров мы также будем использо- вать аннотации для связывания параметров запросов с параметрами методов-обработчиков, выполнения проверки и преобразования со- общений. Поэтому одного компонента DefaultAnnotationHandlerMapping будет мало.

К счастью, достаточно добавить в файл spitter-servlet.xml всего одну строку, чтобы обрести возможность использовать все осталь- ные аннотации, имеющиеся в Spring MVC:

<mvc:annotation-driven/>

Маленький элемент <mvc:annotation-driven> обладает большой властью. Он привносит некоторые дополнительные возможности, включая поддержку аннотаций JSR-303 для проверки данных, пре- образования сообщений и форматирования полей.

Подробнее об этих возможностях будет рассказываться по мере необходимости. А сейчас создадим контроллер главной страницы.

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

По теме:

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