2015-07-19 26 views
2

我開發的春天啓動的MVC應用程序,這裏是它的封裝結構:Spring MVC的:在服務中使用正確的封裝POJO

enter image description here enter image description here enter image description here

包 '域' 包含JPA Redis的實體和POJO;包「庫」包含Spring Data存儲庫以與域模型一起工作;包「服務」包含服務層並與存儲庫協同工作;包「控制器」包含與服務一起工作的REST控制器。

但通常情況下,服務需要使用一些POJO作爲服務特定的數據並將其傳遞給控制器​​。例如,實際上是POJO的類FeedPage聚合數據,計算FeedService並且與數據庫無關。

請幫助一個合適的POJO包: 1)將它存儲在「域」和DB實體 2)將它存儲在服務包(services.feed)中? 3)在每個服務下創建包「模型」並存儲POJO

謝謝!

回答

-1

在core下創建一個名爲model的文件夾。並將它們用於數據傳輸。這些POJO總是被命名爲DTO或數據傳輸對象,並且在他們自己的模型中是最好的。在SOA中有一種做法是將數據傳輸對象放在特定於服務的文件夾中,但現在使用Spring和基於包的AOP定義的可能性。最好是爲它們分配一個包。

+0

感謝您的回覆! 「基於軟件包的AOP定義可能性」的意思是什麼 – dbahdano

+0

另外,現在好像我現在使用包「域」中的POJO作爲DTO,因爲它們在DB <->服務層<->控制器之間傳輸數據。所以「域」包就像你提出的「模型」。你會推薦移動POJO,我打算打包「域」還是創建一個單獨的core.model pkg? – dbahdano

+0

嘗試使用標準化包裝結構的SPRING Data REST JPA。 如果您想記錄度量值(如值或實例度量標準),Spring AOP使您可以靈活地定義程序包級連接點。 – Chavakri