2016-03-13 86 views
0

我查看了Spring的MongoDB REST入門指南(https://spring.io/guides/gs/accessing-mongodb-data-rest/)。當我在不同的包中添加一個實體,則Application.java,說Spring入門指南MongoDB REST示例

com.project.rest.core.entities.Account.java 

和庫

com.project.rest.core.repositories.AccountRepo.java 

應用程序不能識別本地主機下的REST端點做同樣的:8080後與...建立。這只是表明

{ 
    "_links": { 
     "people": { 
      "href": "http://localhost:8080/people{?page,size,sort}", 
      "templated": true 
     }, 
     "profile": { 
      "href": "http://localhost:8080/profile" 
     } 
    } 
} 

當我把Account.javaAccountRepo.java在該Application.java所在,它的工作原理相同的包。

那麼,如何在應用程序中集成來自不同軟件包的存儲庫?

最好的問候,

編輯:我的主應用程序類看起來如下:

​​

即使添加@ComponentScan(basePackages = 「com.project.rest」)的AccountRepository在Spring引導中找不到。

信息庫有以下注釋:

@RepositoryRestResource(collectionResourceRel = "accounts", path="accounts") 

回答

1

你必須在任何的子包爲Application.javaComponent S和Repositories

Spring Docs

一般來說,我們建議您找到一個根包以上的其他類的主應用程序類。 @EnableAutoConfiguration註釋通常放在您的主類上,它隱式地爲特定項目定義了一個基本「搜索包」。

+0

是的,我嘗試了,現在它工作。非常感謝Kapil! – user1337

0

春季啓動應與自動配置註釋SpringBootApplicationEnableAutoConfiguration處理。

也可以通過向主應用程序類添加附加註釋來指定註釋ComponentScan掃描。

@ComponentScan(basePackages="com.project") 
+0

感謝您的回答安東。即使添加了@ComponentScan(basePackages =「com.project.rest」),也找不到AccountRepo。我編輯了我的問題以獲取更多信息。 – user1337