1.什么是三層架構:
三層架構分為:Action--Service(biz)--Dao
Dao層是使用了Hibernate連接數據庫、操作數據庫(增刪改查)。
Service(biz)層:引用對應的Dao數據庫操作,在這里可以編寫自己需要的代碼(比如簡單的判斷)。
Action層:引用對應的Service(biz)層,在這里結合Struts的配置文件,跳轉到指定的頁面,當然也能接受頁面傳遞的請求數據,也可以做些計算處理。
以上的Hibernate,Struts,都需要注入到Spring的配置文件中,Spring把這些聯系起來,成為一個整體。
2.使用分層的好處:
1.實現了軟件之間的解耦
2.便於進行分工
3.便於維護
4.提高軟件組件的重用
6.便於產品功能的擴展。
7.便於適用用戶需求的不斷變化
3.java的(PO,VO,TO,BO,DAO,POJO)解釋
PO(persistant object) 持久對象:
在o/r映射的時候出現的概念,如果沒有o/r映射,沒有這個概念存在了。通常對應數據模型(數據庫),本身還有部分業務邏輯的處理。可以看成是與數據庫中的表相映射的java對象。最簡單的PO就是對應數據庫中某個表中的一條記錄,多個記錄可以用PO的集合。PO中應該不包含任何對數據庫的操作。
VO(value object) 值對象:
通常用於業務層之間的數據傳遞,和PO一樣也是僅僅包含數據而已。但應是抽象出的業務對象,可以和表對應,也可以不,這根據業務的需要.個人覺得同DTO(數據傳輸對象),在web上傳遞。
TO(Transfer Object),數據傳輸對象:
在應用程序不同tie(關系)之間傳輸的對象
BO(business object) 業務對象:
從業務模型的角度看,見UML元件領域模型中的領域對象。封裝業務邏輯的java對象,通過調用DAO方法,結合PO,VO進行業務操作。
POJO(plain ordinary java object) 簡單無規則java對象:
純的傳統意義的java對象。就是說在一些Object/Relation Mapping工具中,能夠做到維護數據庫表記錄的persisent object完全是一個符合Java Bean規范的純Java對象,沒有增加別的屬性和方法。我的理解就是最基本的Java Bean,只有屬性字段及setter和getter方法!。
DAO(data access object) 數據訪問對象:
是一個sun的一個標准j2ee設計模式,這個模式中有個接口就是DAO,它負持久層的操作。為業務層提供接口。此對象用於訪問數據庫。通常和PO結合使用,DAO中包含了各種數據庫的操作方法。通過它的方法,結合PO對數據庫進行相關的操作。夾在業務邏輯與數據庫資源中間。配合VO, 提供數據庫的CRUD操作...
O/R Mapper 對象/關系 映射:
定義好所有的mapping之后,這個O/R Mapper可以幫我們做很多的工作。通過這些mappings,這個O/R Mapper可以生成所有的關於對象保存,刪除,讀取的SQL語句,我們不再需要寫那么多行的DAL代碼了。