ssh架構簡單解釋和vo po解釋

 

Struts、spring、Hibernate在各層的作用

1)struts 負責 web層.

ActionFormBean 接收網頁中表單提交的數據,然後通過Action 進行處理,再Forward到對應的網頁。 在struts-config.xml中定義, ActionServlet會加載。


2)spring 負責業務層管理,即Service(或Manager).

1. service爲action提供統計的調用接口,封裝持久層的DAO,。

2.可以寫一些自己的業務方法。

3.統一的javabean管理方法

4.聲明式事務管理

5.集成Hiberante


3)Hiberante,負責持久化層,完成數據庫的crud操作

hibernate 爲持久層,提供 OR/Mapping。

它有一組 .hbm.xml文件和 POJO,是跟數據庫中的表相對應的。然後定義DAO,這些是跟數據庫打交道的類,它們會使用PO。


在struts+spring+hibernate的系統中,

對象的調用流程是:jsp-> Action-> Service ->DAO ->Hibernate。

數 據的流向是 ActionFormBean接受用戶的數據,Action 將數據從 ActionFromBean 中取出,封裝成VO或PO, 再調用業務層的Bean類,完成各種業務處理後再forward。而業務層Bean收到這個PO對象之後,會調用DAO接口方法,進行持久化操作。

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代碼了。


實體Model(實體模式)
DAL(數據訪問層)
IDAL(接口層)
DALFactory(類工廠)
BLL(業務邏輯層)
BOF Business Object Framework 業務對象框架
SOA Service Orient Architecture 面向服務的設計
EMF Eclipse Model Framework
Eclipse建模框架

發佈了84 篇原創文章 · 獲贊 3 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章