По умолчанию автоматически регистрируется InternalResourceViewResolver
(UrlBasedViewResolver
является абстрактным суперклассом этого).
Если вы объявите свой собственный преобразователь (и) представления, то по умолчанию InternalResourceViewResolver
не будет использоваться. Вы можете, если хотите, просто объявить его как явный компонент. Если имеется несколько распознавателей вида, то с ними будут консультироваться по порядку, пока один из них не вернет объект представления. Однако из-за того, как работает API сервлета, InternalResourceViewResolver
должен всегда быть последним распознавателем представления в цепочке.
Если ваш метод контроллера возвращает объект View
напрямую, тогда преобразователь представления не требуется, и представление будет отображено напрямую. Точно так же, если вы используете @ResponseBody
, преобразователь представления будет обойден.