我的看法:web
實際開發中,若是業務不復雜,service層和DAO層不少方法都是同樣的,這時候爲了提升開發效率,通常都是抽取出一個數據訪問層,即去除service層,讓咱們的action或者controller直接操縱咱們的數據訪問層,這裏的數據訪問層你能夠理解爲DAO層,不過是有一些改變的,若是業務複雜的話,建議仍是使用service層,由於業務邏輯最好放到service,Service除了引用DAO來操做數據庫外,還要進行業務邏輯的處理,不是單純的只是調用DAO,還有事務控制和處理都是也是在service層。數據庫
Java web開發之因此須要service,緣由有如下幾點:
一、前臺接收到的數據須要進行必定邏輯處理以後存入數據庫
二、保持數據完整性,須要向多個表內存入數據,必須引入事務
三、接收前臺數據和數據庫反饋,須要相應做出反應給用戶
四、外設接口和非數據庫數據提取
五、有利於業務業務層獨立 接口