TLDR; Вам необходимо переместить папку вашего контроллера на тот же уровень, что и ваш класс @SpringBootApplication
.
Объяснение:
Компоненты весенней проверки загрузки, начиная с папки, в которой находится класс @SpringBootApplication
, и следуя всем подпапкам.
Единственная аннотация @ SpringBootApplication может использоваться для включения этих трех функций, а именно: @ EnableAutoConfiguration, @ComponentScan, @ Configuration .
@ ComponetScan включить @ Component сканирование пакета, в котором находится приложение.
В вашем примере у вас есть основнойкласс на src/java/resume/demo
, но ваши контроллеры на src/java/
.Поэтому контроллеры никогда не загружаются.Приложение Spring может обслуживать индексную страницу, потому что при автоматической настройке, если вы отладите свой код, вы увидите, что метод индекса контроллера никогда не выполняется.
Прочитайте документацию для кодирования передового опыта:
Мы обычно рекомендуем размещать ваш основной класс приложения в корневом каталоге над другими классами.Аннотация @SpringBootApplication часто размещается в вашем основном классе и неявно определяет базовый «пакет поиска» для определенных элементов.Например, если вы пишете приложение JPA, пакет аннотированного класса @SpringBootApplication используется для поиска элементов @Entity.Использование корневого пакета также позволяет сканировать компоненты только для вашего проекта.