dao 與數據庫的操做,增刪改查等方法
model 通常都是javabean對象,例如與數據庫的某個表相關聯。
service 供外部調用,等於對dao,model等進行了包裝。
impl 定義的接口
util 一般都是工具類,如字符串處理、日期處理等java
首先 DAO 提供了應用程序與數據庫之間的操做規範 和操做 用於一般數據庫的增刪查改 通常若是使用框架 都是由框架自動生成,提升訪問效率和便於快速開發。hibernate的DAO中 提供了關於事物 數據讀取 修改 刪除 添加 這些邏輯 還依賴於下面提到的Model
Model 爲了便於理解業務和代碼可讀 美觀 一般將數據庫表 做爲對象封裝,對象封裝中提供屬性 通常操做DAO類的時候 傳入的是Model 經過 hibernate的映射文件 映射到數據庫字段也就是一般說的 經過實體類操做數據庫
IMPL 以IMPL 結尾的類 通常是實現了某個或多個接口的類 這些類的接口 是定義了一些規範的類一般是數據訪問等等 在service 中 會經過spring的注入 注入這些接口來實現邏輯
service 通常在service的實現類 會出如今action中。這些service 提供了包含邏輯的數據訪問
舉個例子 在 項目中須要將查詢出來的全部數據的某個值加1 那麼 在service 中 就會作一次循環 從查詢出來的Model 集合中 將值取出來 +1web
之因此分這麼多層,就是爲了它們程序中井井有條,各司其職,其中的一層出了問題不會對其餘層有太大影響,實現了高內聚、低耦合
它們的協做關係以下
web頁面--->Action---->service---->interface---->IMPL---->DAO---->DATABASEspring