2015-04-04 54 views
0

對於Spring啓動來說,我已經看到了一個例子,我們創建了存儲庫來執行給定對象的各種操作。這裏是一個樣本春季啓動時從庫中調用服務

@RepositoryRestResource(collectionResourceRel = "people", path = "people") 
public interface PersonRepository extends PagingAndSortingRepository<Person, Long> { 

    List<Person> findByLastName(@Param("name") String name); 

} 

所以從其他客戶,如果我派人傑森

http://localhost:8080/people {....}

它插入到數據庫中,在內部調用保存方法。

在這裏從REST客戶端調用後,我想做一些驗證或企業登錄,然後插入到數據庫,我該怎麼做?這意味着我想調用服務方法來執行所有的業務邏輯,然後插入如何從庫類調用服務方法?

+0

我可以知道投票的原因嗎? – Shri 2015-04-04 19:30:16

+0

這個問題不清楚。爲什麼要調用存儲庫類中的服務方法? 「存儲庫」類意味着做與數據庫相關的工作,並且服務方法無論如何都與「Spring-Boot」無關。創建服務類以執行業務邏輯,然後調用存儲庫以執行與數據庫相關的操作。 – 2015-04-04 19:31:07

+0

所以我不能在這種模式下編寫任何業務邏輯,我必須調用服務層,然後從那裏我需要調用存儲庫..是這樣嗎? – Shri 2015-04-04 19:34:31

回答

2

這個知識庫是一個接口,它允許你執行涉及Person對象的各種操作(這裏的操作意味着DB相關的操作)。它通過擴展Sp​​ring Data Commons中定義的PagingAndSortingRepositry接口來獲得這些操作。

在運行時,Spring Data REST將自動創建該接口的實現。然後它將使用@RepositoryRestResource註釋來指導Spring MVC在/ people處創建RESTful端點。

我不認爲您的需求可以通過在存儲庫中擁有「@RepositoryRestResource」來實現。您可能需要使用api,service和repo層創建適當的sprint-boot應用程序來執行您想要執行的任務。