С помощью WebApplicationInitializer
я могу легко добавить фильтр к ServletContext
в методе onStartup()
.
Как добавить фильтр с WebMvcConfigurerAdapter
? Должен ли я использовать XML?
ДОБАВИТЬ 1
Чтобы помочь другим легче понять Spring Web Configuration, я нарисовал следующую иллюстрацию.
Теперь вам просто нужно сначала понять rational
конфигурацию Spring Web. А затем выбрать, какой класс конфигурации унаследовать и какой метод переопределить снизу.
Легче искать, чем вспоминать так много всего.
И хорошая статья о Spring Web Initialization:
http://www.kubrynski.com/2014/01/understanding-spring-web-initialization.html
ДОБАВИТЬ 2
Основываясь на ответе Tunaki
, я проверил файл AbstractDispatcherServletInitializer
. Регистрация фильтра происходит в следующем коде:
Даже если я переопределяю зеленый метод getServletFilters()
, я все равно не могу получить доступ к результату Dyanmic
registerServletFilter()
. Итак, как я могу настроить фильтр по addMappingForUrlPatterns()
?
Кажется, я have to
переопределяю весь registerDispatcherServlet()
метод.
DispatcherServlet
. Если вам нужно что-то еще, переопределите методonStartup
(не забудьте вызватьsuper.onStartup
и самостоятельно зарегистрировать фильтры, как обычно. Это все еще работает... - person M. Deinum   schedule 02.11.2015WebApplicationInitializer
... Их может быть несколько, а не один! - person M. Deinum   schedule 02.11.2015