Выбор ответа Senior Spring Boot и автоконфигурация обновлено
@EnableWebMvc в Boot
Вопрос
Разработчик добавил @EnableWebMvc на конфигурацию в Spring Boot приложении. Что изменится?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Отключится автоконфигурация MVC: пропадут настройки Boot. WebMvcAutoConfiguration помечена @ConditionalOnMissingBean(WebMvcConfigurationSupport.class), а @EnableWebMvc как раз регистрирует этот класс.
Варианты ответа
- Отключится автоконфигурация MVC: пропадут настройки Bootправильный ответ
- Ничего: аннотация просто дублирует автоконфигурацию MVC
- Включится WebFlux вместо MVC для всех контроллеров
- Приложение не стартует из-за двух конфигураций MVC
Разбор
WebMvcAutoConfiguration помечена @ConditionalOnMissingBean(WebMvcConfigurationSupport.class), а @EnableWebMvc как раз регистрирует этот класс. В итоге Boot перестаёт настраивать MVC, и, например, свойства spring.mvc.* и раздача статики по умолчанию перестают работать. Чтобы донастроить MVC в Boot, реализуют WebMvcConfigurer без @EnableWebMvc.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.