Я мигрирую с весны 2.5 до весны 3.
Они ввели <mvc:annotation-driven />
что-то вроде черной магии. Ожидается, что это будет объявлено только в файле конфигурации сервлета.
Весной 2.5 я просто использовал <context:annotation-config />
и <context:component-scan base='...'/>
теги объявлен как в application-context.xml
и диспетчере сервлет конфигурация XML с соответствующими базовыми пакетами для сканирования.
Поэтому мне интересно, в чем разница между тегами в конфигурации сервлета mvc:annotation-driven
и context:annotation-config
тегами, которые я могу устранить в конфигурационных файлах Spring 3?
источник
<context:annotation-config>
в каждом контексте.<mvc:annotation-driven>
это не бессмысленно, просто неправильно названо. Фактически он настраивает поддержку новых функций Spring MVC, таких как декларативная проверка с помощью@Valid
, преобразование HTTP-сообщений с@RequestBody
/@ResponseBody
, новая архитектура преобразования полей и т. Д.Существует также еще некоторые детали , касающиеся использования
<mvc:annotation-driven />
в документации Spring . В двух словах,<mvc:annotation-driven />
дает вам больший контроль над внутренней работой Spring MVC. Вам не нужно использовать его, если вам не нужна одна или несколько функций, описанных в вышеупомянутом разделе документов.Кроме того, существуют другие «управляемые аннотациями» теги для обеспечения дополнительной функциональности в других модулях Spring. Например,
<transaction:annotation-driven />
разрешает использование аннотации @Transaction,<task:annotation-driven />
требуется для @Scheduled et al ...источник
mvc: annotation-driven - это тег, добавленный в Spring 3.0, который выполняет следующие действия:
context: annotation-config Ищет аннотации к bean-компонентам в том же контексте приложения, в котором он определен, и объявляет поддержку всех общих аннотаций, таких как @Autowired, @Resource, @Required, @PostConstruct и т. д. и т. д.
источник
@Autowired, @Resource, @Required, @PostConstruct
AND@RequestBody, @ResponseBody
- все эти аннотации, то мне придется добавить оба этихmvc:annotation-driven
context:annotation-config
тега в мою конфигурацию?