Что нужно сконфигурировать для работы Spring MVC контроллера?

«Что нужно сконфигурировать для работы Spring MVC контроллера?» — вопрос из категории Spring, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для работы контроллера в Spring MVC необходима следующая базовая конфигурация:

1. Аннотации контроллера:

  • @Controller — для классических MVC контроллеров, возвращающих имена представлений.
  • @RestController — для REST API, автоматически добавляет @ResponseBody ко всем методам.

2. Маппинг запросов: Используйте аннотации для связывания URL с методами обработчиками.

   @RestController
   @RequestMapping("/api/users") // Базовый путь
   public class UserController {
       @GetMapping("/{id}") // GET /api/users/42
       public User getUser(@PathVariable Long id) { ... }
   }

3. Включение механизма MVC (в Spring Boot автоматически):

  • Без Spring Boot требуется аннотация @EnableWebMvc в конфигурационном классе.
  • Должно быть включено сканирование компонентов (@ComponentScan).

4. Конфигурация View Resolver (для @Controller): Для REST (@RestController) не требуется.

Почему это важно: Spring Boot автоматически настраивает большую часть инфраструктуры, но понимание базовой конфигурации необходимо для кастомизации и отладки.