ComponentScan не отображает RestControllers - PullRequest
0 голосов
/ 30 апреля 2018

Приложение My Spring не отображает @RestController. Мне кажется, это проблема ComponentScan. У меня есть два проекта (база данных и приложение API), и я сканирую оба (я пробовал basePackages и value). Но все еще не работает.

Класс применения:

//@ComponentScan({"project.name.db", "project.name"})
@ComponentScan(basePackages = "project.name")
@SpringBootApplication
public class MyApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}

Контроллер:

@RestController
@ResponseStatus(HttpStatus.OK)
public class PersonController {

    @Autowired
    private PersonService personService;

    @RequestMapping("/person")
    public List<Person> getPerson(@RequestParam int someId) throws Exception {
      return this.personService.getPerson(someId);
    }
}

Когда Spring загружается, вывод не содержит эту /person карту. Что это может быть?

ОБНОВЛЕНИЕ СТРУКТУРЫ ПРОЕКТА

project.name.db

  • Модель

  • Репозиторий

project.name

  • MyApplication.java

  • контроллеры

  • Услуги

Тексты курсив являются пакетами.

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Удалить

@ComponentScan(basePackages = "project.name")

Вам не нужен @ComponentScan, если ваш основной класс (т.е. MyApplication) находится в корневом пакете. Spring boot автоматически их отсканирует.

0 голосов
/ 30 апреля 2018

есть варианты:

@SpringBootApplication(scanBasePackages = "your.toplevel.package")

или

@SpringBootApplication(scanBasePackageClasses= {PersonController.class})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...