已經(jīng)轉(zhuǎn)移到
好·色之徒--我的博客、我的生活通過前面幾篇文章的講述,系統(tǒng)核心的部分基本上已經(jīng)結(jié)束了。
為了更加清晰的描述整個系統(tǒng)的開發(fā)過程,下面想通過一個小的功能來講述如何在這基礎(chǔ)之上來開發(fā)的,當(dāng)然主要是過程,具體類的內(nèi)容可以參考源代碼。
就拿訂單(order)模塊的訂單處理功能來講述:
需要建立的類有action:OrderAction.java
pojo:OrderInfo.java(hbm:OrderInfo.hbm.xml)
service:IOrderService.java,OrderServiceImpl.java
需要的jsp為orderInfo.jsp,以及相關(guān)配置文件(待會再講)
下面一樣一樣的表述:
action:OrderAction.java
需要繼承com.iplan.portal.framework.base.struts.BaseAction,所需要的Service都采用get、 set方法來設(shè)置。Action類中方法采用統(tǒng)一的一定的規(guī)則,比如:select、list、edit、save、delete、search,后續(xù)的 Action類都采用了這樣的命名,有助于統(tǒng)一規(guī)劃。
pojo部分,是對數(shù)據(jù)庫表字段的映射,比較簡單,可以手工自己編寫,也可以采用HibernateSynchronizer等來完成
service:IOrderService.java,OrderServiceImpl.java
接口和實(shí)現(xiàn)。接口中的方法命名值得注意一下,一般采用get、save、update、delete+功能名,其中g(shù)et方法涉及的比較多,所以根據(jù)實(shí)際需求來設(shè)置,通過by...,只是適合,規(guī)定下來就可以。
實(shí)現(xiàn)中需繼承com.iplan.portal.framework.base.BaseService,這是所有服務(wù)類的基類,這里就是具體的業(yè)務(wù)實(shí)現(xiàn)過程,一般都會用到CommonDAO。
jsp沒有什么特別之處,下面講一下配置文件的信息
struts-config中的struts-config-order.xml,以pojo"OrderInfo"作為form-bean的屬性,再配置一個action,其它的不用設(shè)置了。
action-servlets-config中的action-servlets-order.xml,以你剛剛配置的struts-config-order.xml中的action中的path屬性值,配置一個bean,bean的name屬性值就是模塊名+path屬性值。這個就是你真正需要的OrderAction,其間設(shè)置了所需要的Service
tiles-config中的tiles-defs-order.xml,來設(shè)置你在struts-config-order.xml配置的資源流轉(zhuǎn)的jsp資源信息
validation-config中的validation-order.xml,設(shè)置你需要驗(yàn)證的表單信息,其中form中的name屬性值就是你定義的form-bean的name屬性值
最后把OrderInfo.hbm.xml文件追加到hibernate.cfg.xml中去,在ApplicationResources.properties對應(yīng)的屬性文件中追加相應(yīng)的資源。運(yùn)行你的服務(wù)器,可以展現(xiàn)你的畫面了。
以上簡單的介紹了一下,開發(fā)一個具體功能模塊的過程,以作參考之用。
最后,說明幾個遺漏的功能,作為最后的補(bǔ)充,采用struts+hibernate+spring開發(fā)的一個web系統(tǒng)系列暫時告一段落,希望有所幫助,謝謝!
附:
1、app-config下的applicationContext.xml,baseTransactionProxy下的transactionAttributes,沒有詳細(xì)的設(shè)定(它是為service服務(wù)的),這里只是做了個例子。
2、密碼采用MD5加密,密碼修改時顯示的原始秘密為MD5值,沒有改掉,留意一下。
采用struts+hibernate+spring開發(fā)的一個web系統(tǒng)(7)--系列截至??
有個論壇