??? PetStore(寵物店)相信大家都不默生 , 它的功能包括一個產(chǎn)品目錄 , 一個購物車 , 客戶賬戶管理 , 訂單歷史 , 還有一些基本的個性選項功能 . 這是一個相當標準的數(shù)據(jù)驅(qū)動的J2EEWeb應用系統(tǒng)(沒有EIS集成,也沒有消息處理需求) . The Middleware Company(TMC, 著名JAVA社區(qū)TSS的母公司)在2002年正式規(guī)范化了本系統(tǒng)的業(yè)務(wù)需求,并且在2003年出了進一步修正 ,?加入了兩種特殊的需求: 要支持用唯一的數(shù)據(jù)庫保存所有的持久化數(shù)據(jù).? 也要支持雙數(shù)據(jù)庫的場境: 一個數(shù)據(jù)庫保存客戶訂單,另一個保存產(chǎn)品和賬務(wù)數(shù)據(jù). 前一種場境當然性能更好,對于相對簡單的應用系統(tǒng)也更為實用. 后一種使用了主數(shù)據(jù)庫實現(xiàn)目錄跟蹤功能(也就是說, 存放產(chǎn)品目錄和客戶賬戶數(shù)據(jù)), 而客戶訂單則分開存放在另一個訂單數(shù)據(jù)庫中. 這樣, 由于系統(tǒng)在兩個數(shù)據(jù)庫上運行, 所以在下訂單的時候就要求實現(xiàn)分布化事務(wù).對PetStore有網(wǎng)上有各種不同的實現(xiàn)這里要討論的是基于Sructs+Spring+iBATIS的輕量級框架實現(xiàn)的(來自于<<J2EE Development without EJB>> Rod Johnson? 電子工業(yè)出版社)
源碼下載(http://www.wrox.com/WileyCDA/WroxTitle/productCd-0764558315,descCd-download_code.html)?
?????? 好了有了源碼讓我們先來一睹為快然后再來分析.
?????? 要構(gòu)建Spring Jpetstore 應用你還需要安裝JDK?和Tomcat詳情請看我的JSP開發(fā)入門用戶登陸認證?此外為了用ANT構(gòu)建應用還要安裝設(shè)置ANT工具(下載地址:http://www.jakarta.apache.org)?ANT的安裝軟件是解壓軟件包,只需把壓縮文件解壓到本地硬盤. 并設(shè)置一下環(huán)境變量:ANT_HOME=ANT的安裝目錄 PATH=%PATH%;%ANT_HOME%\bin; CLASSPATH=%CLASSPATH%;%ANT_HOME%\lib;
??????? 好了環(huán)境搭建完閉,?現(xiàn)在進入 ..\spring-jpetstore\samples\jpetstore>
執(zhí)行ANT命令 ..\spring-jpetstore\samples\jpetstore>ant
則將在 ..\spring-jpetstore\samples\jpetstore\dist目錄下生成jpetstore.war的發(fā)布文件. 現(xiàn)在大功告成把jpetstore.war文件拷到tomcat安裝目錄\webapps\下. 啟動tomcat服務(wù)器(tomcat安裝目錄\bin\star_up.bat). 啟動hsql數(shù)據(jù)庫(..\spring-jpetstore\samples\jpetstore\db\hsqldb\server.bat). 好了一切搞定現(xiàn)在打開瀏覽器輸入(http://localhost:8080/jpetstore)你將可看到如下:
?
借助于(..\spring-jpetstore\samples\jpetstore\db\hsqldb\manager.bat)看到的hsql數(shù)據(jù)庫中的數(shù)據(jù)
發(fā)布搞定下面對它做一些簡要的分析!
請看Spring JPetStore(二)?? JPetStore的分析