Назад к вопросам
Junior — Middle
61
Каким образом фреймворк Spring определяет и регистрирует контроллеры в приложении?
Ответ от нейросети
sobes.tech AI
Spring определяет и регистрирует контроллеры с помощью механизма сканирования компонентов (component scanning). Классы, помеченные аннотацией @Controller или @RestController, автоматически обнаруживаются в указанных пакетах при старте приложения.
Процесс выглядит так:
- В конфигурации Spring указывается пакет для сканирования с помощью
@ComponentScan. - Spring ищет классы с аннотациями
@Controllerили@RestController. - Найденные классы создаются как бины в контексте приложения.
- Методы контроллеров, помеченные аннотациями
@RequestMapping,@GetMappingи т.д., регистрируются как обработчики HTTP-запросов.
Пример:
@RestController
@RequestMapping("/api")
public class MyController {
@GetMapping("/hello")
public String sayHello() {
return "Hello, World!";
}
}
При запуске Spring создаст бин MyController и свяжет путь /api/hello с методом sayHello().