данные по весне отдыхают с пакетом sts - PullRequest
0 голосов
/ 22 мая 2018

Я создаю Java-стартер в sts ..simple project Класс Employee в com.entities EmployRepository в com.repository расширяет CrudRepository EmployeeApi в com.employee main()

Когда у меня есть классы впакеты и я пытаюсь запустить приложение и просматривает localhost:8080 Я не получаю ссылку на сущность.

Я получаю только профиль, как показано ниже

 {
  "_links" : {
    "profile" : {
      "href" : "http://localhost:8080/profile"
    }
  }
}

В то время как ожидаемый результат

{
  "_links" : {
    "employees" : {
      "href" : "http://localhost:8080/employees"
    },
    "profile" : {
      "href" : "http://localhost:8080/profile"
    }
  }
}

Однако, когда я помещаю все классы в один пакет, я получаю вывод, как и ожидалось.

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Проблема Я думаю, что проблема заключается в том, как вы организуете свой код .

Предложение Вам необходимо тщательно проверить структуру папок.

Пример

    ->src
    ----->main
    ---------->java
              |-------->com.example.spring
              |-------->com.example.spring.entities
                        |------>Employee.java
              |-------->com.example.spring.repositories
                        |------>EmployeeRepo.java
              |--------->DemoApplication.java    

-> Проверьте следующую ссылку !<- </p>

Пример структуры каталогов

0 голосов
/ 22 мая 2018

Из документов :

Обычно мы рекомендуем размещать основной класс приложения в корневом каталоге над другими классами.Аннотация @SpringBootApplication часто размещается в вашем основном классе и неявно определяет базовый «пакет поиска» для определенных элементов.Например, если вы пишете приложение JPA, пакет аннотированного класса @SpringBootApplication используется для поиска элементов @Entity.Использование корневого пакета также позволяет применять сканирование компонентов только к вашему проекту.

Подводя итог: По умолчанию в хранилищах и подпакетах классов приложения ищутся репозитории и сущности.Это поведение можно изменить с помощью @SpringBootApplication(scanBasePackages = "this.is.a.package.name").

Переместите ваши сущности и репозитории в подпакеты вашего класса приложения или добавьте их пакеты в путь сканирования.

...