弹簧数据休息与sts包

时间:2018-05-22 15:29:04

标签: java spring spring-data-jpa spring-data-rest

我正在sts ..simple项目中创建一个java启动器 com.entities中的员工类 com.repository中的EmployRepository扩展了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 :(得分:0)

来自the docs

  

我们通常建议您找到主应用程序类   其他类之上的根包。 @SpringBootApplication   注释通常放在您的主类上,并且它是隐式的   为某些项目定义基础“搜索包”。例如,如果你   正在写一个JPA应用程序,包的   @SpringBootApplication带注释的类用于搜索@Entity   项目。使用根包还允许仅应用组件扫描   在你的项目上。

总结一下:默认情况下,在应用程序类包和子包中搜索存储库和实体。可以使用@SpringBootApplication(scanBasePackages = "this.is.a.package.name")更改此行为。

将您的实体和存储库移动到应用程序类的子包中,或将其包添加到扫描路径。

答案 1 :(得分:0)

问题我认为问题在于您如何组织代码

建议您需要仔细检查文件夹结构。

示例

distribution:FillEqually 

- >查看以下link! < -

Sample directory structure