Я пытаюсь разработать приложение с пружиной 3 MVC, не используя аннотации.У меня есть несколько причин для этого (мне нравится место центральной конфигурации, я не хочу помещать специфичную для HTTP информацию в свой контроллер, мне нравятся файлы XML, и моя IDE (intellij IDEA) имеет хорошую поддержку для этого).
Сначала мне нужно сопоставление URL-TO-Controller.Это может быть достигнуто с помощью BeanNameUrlHandlerMapping
.Хотя этот метод был исключен из документации 3.0 («устаревший из-за аннотаций»), но он все еще работает.
Затем мне нужно отобразить параметры GET для некоторого компонента со свойствами.В стойках они есть по умолчанию :( Я могу использовать BaseCommandController
. Это устарело, но я могу использовать @SuppressWarnings
, чтобы избавиться от некрасивого сообщения. bindAndValidate
заполнит объект команды после него.
Впо крайней мере, мне нужно сопоставить переменные пути (из шаблонов uri), чтобы сделать мои URL читабельными. И я здесь потерян. Смотри: https://jira.springsource.org/browse/SPR-5757
BaseCommandController
работает только с GET / POST. Я могу получить карту иззапрос с использованием UriTemplate
. Но bindAndValidate
принимает HttpServletRequest
, и я не могу добавить параметры к нему: карта доступна только для чтения. Я могу украсить ее, но ... слишком много хаков!
Слишком много хаков длятакие простые потребности. Хаки, устаревшие классы и BaseCommandController
, что недокументировано в 3.0.
Можно ли сделать приложение с помощью Spring MVC 3.0 без аннотаций? Или я должен использовать что-то еще (например, struts-2) для MVC?