我的web應用程序是使用Spring MVC + Hibernate編寫的。我真的需要服務層嗎?
- 我的模型是「客戶」實體POJO。
- 我有一個DAO對象「CustomerDAO」,它的方法「saveCustomer(c)」包含與Hibernate交互的代碼;
- 然後,我創建了一個「的CustomerService用‘saveCustomer(三)’方法誰簡單地將客戶對象到DAO保存;
- 最後還有‘CustomerController’和customer.jsp,誰負責視圖層,JSP的表單域綁定到控制器端Customer對象,控制器調用服務。
我看到了很多的應用程序都遵循這個(最好的)的做法,但我不知道爲什麼我將需要一個服務層
也許它是有用的解耦p urpose:我可以向控制器顯示一個通用外觀,並注入HibernateDAO,GaeDAO,MyDAO等服務....但是我也可以在沒有該服務的情況下執行此操作:使用接口。
我也想:驗證。我將在服務中進行我的客戶驗證,但是......在Spring控制器中驗證要方便得多。
請幫我理解這個概念:)
該服務還可以提供共享邏輯到一個測試服務層(業務代碼)或更多的控制器(例如Web控制器和JSON/WS API) – seanhodges 2012-03-09 11:55:24
您也可以通過這種方式輕鬆地將服務(服務方法)作爲Web服務公開... – 2012-03-09 12:04:49
@seanhodges,matjaz,是的確 - 優秀的建議 – 2012-03-09 12:11:24