Вызов методов @Controller один раз за запрос
-
05-07-2019 - |
Вопрос
Есть ли хороший способ иметь классы @Controller
в Spring для вызова определенного метода один раз для каждого запроса?
Прямо сейчас я использую метод, аннотированный с помощью @InitBinder
для этой цели, но это неоптимально, поскольку методы @InitBinder
вызываются несколько раз за запрос. Я просто хочу сделать некоторые вещи инициализации / обновления для использования в моих контроллерах.
Я ищу что-то вроде Rails'а before_filter
, но, насколько я могу судить, в Spring такой функциональности нет.
Решение
Похоже, вам нужен bean-компонент контроллера в области запроса . Spring создает новый экземпляр контроллера для каждого запроса и каждый раз инициализирует компонент с использованием стандартных механизмов, таких как @PostConstruct
. Р>