Spring+hibernate實(shí)戰(zhàn)(一)

          今天忙了一天,收獲不小。到公司接到個(gè)小項(xiàng)目,需求很簡單,時(shí)間也很寬松,我就想用springhibernate來做,其實(shí)有點(diǎn)殺雞用牛刀的味道,但我覺得能通過實(shí)踐來學(xué)習(xí)springhibernate,也還是不錯(cuò)的。

          springhibernate我也是剛學(xué),各看了本書,然后搞了搞springsample,就是那個(gè)jpetstorepetclinic,一個(gè)是用ibatis,一個(gè)用hibernatepersistence層。同時(shí)有一個(gè)剛進(jìn)公司的人跟著我做,我也就得先把項(xiàng)目初始化好,寫好配置文件,分好包和層次結(jié)構(gòu),然后放cvs上。既然用springhibernate,配置文件肯定是很多的,我基本是參照petclinic,分了dao, dao.hibernate, model, model.logic, service, web這幾個(gè)包,配置文件定義了applicationContext.xmlapp-servlet.xml(我用spring mvc) , log4j.propertiesjdbc.properties, mail.properties,說到spring的配置文件,其實(shí)也不復(fù)雜,搞懂了它的IoCDI)和AOP就很容易配了,層次定義清楚,在頭腦中對(duì)誰ref誰有概念,基本就不大會(huì)配錯(cuò)了。錯(cuò)了也沒關(guān)系,它的log功能強(qiáng)大,定義好log4j,出了什么錯(cuò)都能有詳細(xì)的記錄。我搞springsample時(shí)就是把這個(gè)配置改改,那個(gè)刪掉,自己寫個(gè)類,替換它的。。。。。。這樣很快就對(duì)它的配置文件有了深刻的理解。這次算是我第一個(gè)正式用spring的項(xiàng)目,但因?yàn)榍懊嬖诶碚撋虾土阈堑膶?shí)踐中對(duì)它有了較深的認(rèn)識(shí),也就大大降低了項(xiàng)目的風(fēng)險(xiǎn)(技術(shù)預(yù)研真的很重要啊!)。

          雖然是小項(xiàng)目,但也得規(guī)范一下,定好項(xiàng)目計(jì)劃,統(tǒng)一大家使用的工具和環(huán)境,簡單交代編程的注意事項(xiàng),如代碼規(guī)范,cvs的使用,多寫test類等。我們采用eclipse3.1+ myeclipse+tomcat5+mysql作為各自的開發(fā)和單元測(cè)試環(huán)境,上線使用websphere5+db2。我是要求先在mysql上能跑,然后能方便的遷移到db2上的,這樣方便進(jìn)行單元測(cè)試,也能在事實(shí)上與數(shù)據(jù)庫解耦合,用hibernate很容易做到這一點(diǎn)。

          但要能順利的上線到websphere5,我就沒什么把握了,畢竟它還是使用ibm jdk1.3,而且很多東西跟tomcat不同,更會(huì)不會(huì)有什么lib沖突等問題。我先把兼容性測(cè)試放在了開發(fā)的前面,否則在tomcat上開發(fā)好了,websphere不支持或出現(xiàn)難以解決的問題,就麻煩了,嚴(yán)重的可能要推倒重來。因?yàn)闆]在實(shí)際項(xiàng)目中使用過spring,周圍又沒什么人可問(我畢業(yè)一年多,沒有高手指導(dǎo),全靠自學(xué)和實(shí)際項(xiàng)目中領(lǐng)悟),所以有這些疑問也是正常的。不管如何,先把項(xiàng)目在tomcat上跑起來再說。改了一通配置文件,配好tomcat的數(shù)據(jù)源,往mysql加一個(gè)最簡單的表(id一個(gè)字段),寫了2張最簡單的jsp(測(cè)試spring mvcmultiaction),一個(gè)jsp顯示從數(shù)據(jù)庫獲得的id。開啟和關(guān)閉幾次tomcat(我比較粗心大意,配錯(cuò)好幾處),id就能在頁面上顯示了。Tomcat上基本配置完成,這也忙了個(gè)34個(gè)小時(shí)。

          然后就是做兼容性測(cè)試了。我們有個(gè)websphere的測(cè)試環(huán)境,先把項(xiàng)目deploy到它上面。測(cè)試環(huán)境沒用ND,我先deployserver1上,這樣能重啟應(yīng)用。Deploy完成,頁面都出不來,500錯(cuò),應(yīng)用就沒起來。先看日志,哇!一堆錯(cuò)。分析日志,好像是先裝載的DispatcherServlet, 然后才是ContextLoaderServlet,當(dāng)然出問題了,不過至少說明它找到了lib下的spring.jar也能work。我使用的Listener而不是Servletload context,估計(jì)是這個(gè)原因?qū)е碌模?/SPAN>tomcat工作正常,websphere對(duì)Listener就不保證先啟動(dòng)了。于是改成使用Servlettomcat測(cè)試通過,我將改過的web.xml覆蓋服務(wù)器(這里要覆蓋2個(gè)地方,一個(gè)是應(yīng)用下的,還有一個(gè)config/cells…..下的) 重啟應(yīng)用,再看日志,還是錯(cuò)。不過這次是先啟動(dòng)ContextLoaderServlet了,但一上來就錯(cuò)了,報(bào)錯(cuò):javax.naming.NamingException: Attempted to use a 4.0 DataSource from a 2.3 (or higher) servlet。這不是spring的問題,呵呵!我用的數(shù)據(jù)源V4,結(jié)果用了j2ee2.3,再改web.xml,頭上改成用j2ee2.2,再覆蓋,再啟應(yīng)用。這次首頁出來了,看日志,一切正常。呵呵!沒那么多問題嘛,jdk1.3照樣跑最新的springhibernate

          今天從零開始把springhibernate跑了起來,也算是一次不錯(cuò)的實(shí)戰(zhàn),就作為spring+hibernate實(shí)戰(zhàn)的第一篇吧,接下來幾天,我在項(xiàng)目中的體會(huì)也會(huì)記錄下來,當(dāng)成一個(gè)一個(gè)系列吧。

          posted on 2005-10-31 21:48 pesome 閱讀(13012) 評(píng)論(24)  編輯  收藏 所屬分類: Spring+Struts+Hibernate

          評(píng)論

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2005-11-02 01:09 onocast@hotmail.com

          不錯(cuò),能再具體介紹下項(xiàng)目就更好了  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2005-11-02 01:10 onocast@hotmail.com

          能交個(gè)朋友交流交流嗎?
          MSN:nonocast@hotmail.com  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2006-03-20 10:00 李毅

          不錯(cuò),我剛用spring+hibernate+jbosscache幫公司開發(fā)了一個(gè)游戲平臺(tái)的服務(wù)器的數(shù)據(jù)庫部分相關(guān)的部分,你比我強(qiáng)多了  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2006-08-19 16:25 kangyi

          blog 你好~!請(qǐng)你把你的做的Spring和Hibernate例子發(fā)給我好嗎?萬分感謝!我的油箱是kangyi06220330@163.com  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2006-08-20 22:30 pesome

          呵呵,那是很早前做的了,你可以上www.openfans.net上的公告,下載openfans的源碼。  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2006-09-13 14:31 luihuilang

          樓主很感謝!能不能發(fā)個(gè)例子給我!luihuilang@126.com 不勝感激!  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2006-09-28 17:38 Spring+hibernate

          我的QQ:316865253
          我是上海一家軟件公司的,才做了半年,我們的開發(fā)框架主要是基于spring+hibernate的,我們的產(chǎn)品是能夠自定義ERP的軟件,希望有交流的機(jī)會(huì).  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2006-12-11 15:10 sai

          樓主,你好,我市才開始學(xué)習(xí)Spring,缺少實(shí)際的例子,希望樓主幫幫忙,我的Email:sai-2008@126.com 我的QQ:363663770 謝謝!!
            回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2006-12-13 13:46 pesome

          可以參考spring的jpetstore和appfuse,是很不錯(cuò)的示例,我就是這樣學(xué)的  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2007-03-28 10:39 七喜可樂

          樓主,你好,我是J2EE德的新手,現(xiàn)在公司要用到Spring+Hibernate作項(xiàng)目,我spring不是很會(huì),能發(fā)個(gè)你的例子給我嗎?謝謝。  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2007-03-28 10:40 七喜可樂

          我的QQ:513430440  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2007-03-28 15:19 pesome

          這個(gè)你看spring的sample,我也是從它學(xué)起的。在spring-full的包里  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2007-03-29 22:10 kuyle

          樓主,我剛開始學(xué)用這兩個(gè)東西做畢業(yè)設(shè)計(jì),能否教教我怎么在eclipse上插spring,還有怎么配置和hibernate整合。  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2007-03-29 22:14 kuyle

          我的郵箱kuyle@163.com。先謝過,剛接觸,已經(jīng)摸索兩天hibernate,對(duì)它有大概的了解了,spring就還完全不懂,請(qǐng)樓主指教指教。  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2007-03-30 10:10 李浩

          現(xiàn)在公司要用到Spring+Hibernate作項(xiàng)目,我spring不是很會(huì),能發(fā)個(gè)你的例子給我嗎?謝謝
          我的QQ:253992946
          郵箱:lihaoxiaocao@163.com  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2007-04-02 09:16 pesome

          呵呵,是很早開始學(xué)習(xí)時(shí)的文章了,使用了myeclipse,插件就不用操心了。還是建議初學(xué)者看spring自己的demo,把每個(gè)配置項(xiàng)搞懂,多積累出錯(cuò)及解決的能力。  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2007-09-07 21:43 秦磊

          樓主 呵呵 這我都知道 用HIBERNATE作為持久層和SPRING作為業(yè)務(wù)邏輯層做起來很方便,多少視圖呢? 可以用STRUTS把 雖然STRUTS已經(jīng)實(shí)現(xiàn)了MVC
          但是沒用HIBERNATE和SPRING方便,現(xiàn)在的STRUTS是不是過時(shí)拉????請(qǐng)問下 樓主 我馬上 就準(zhǔn)備去找工作了,希望樓主給點(diǎn)建議 謝謝了 希望你能加我QQ:123149150 郵箱就是我QQ郵箱:123149150@QQ.COM謝謝你了   回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2007-09-21 09:33 你好

          希望你可以發(fā)給我實(shí)例,萬分感激呀!!panshuzhai@126.com  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2007-10-11 14:18 a237431204

          我現(xiàn)在不會(huì)SPRING+HIBERNATE結(jié)合在一起使用,您能給我傳一個(gè)視頻教程或者是你自己做的小例題嗎  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2007-10-11 14:19 a237431204

          傳到我a237431204@163.com郵箱就可以了  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一)[未登錄] 2007-11-19 10:33 feng

          能否給我發(fā)份 fengshenghao@126.com  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2007-12-17 09:48 czb

          我也想學(xué)下,樓主能否給個(gè)例子 chenzb_java@163.com,謝謝!  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2008-01-21 09:59 唐林哲

          多加幾個(gè)群互相借鑒和學(xué)習(xí)就好了!  回復(fù)  更多評(píng)論   

          # re: Spring+hibernate實(shí)戰(zhàn)(一) 2008-02-29 17:51 jute

          我也想學(xué)下,樓主能否給個(gè)例子(394627458@qq.com)  回復(fù)  更多評(píng)論   

          <2005年10月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          導(dǎo)航

          統(tǒng)計(jì)

          公告

          主要記錄作者在學(xué)習(xí)java中的每一步足跡。除非特別說明,所有文章均為本blog作者原創(chuàng),如需轉(zhuǎn)載請(qǐng)注明出處和原作者,如用于商業(yè)目的,需跟作者本人聯(lián)系。
          歡迎大家訪問:

          常用鏈接

          留言簿(16)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊(cè)

          收藏夾

          java技術(shù)

          人間百態(tài)

          朋友們的blog

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 濮阳市| 霞浦县| 罗定市| 阿拉善左旗| 桦川县| 肃宁县| 本溪| 犍为县| 姜堰市| 莆田市| 贵州省| 连江县| 五原县| 桂东县| 汉阴县| 喀什市| 正定县| 黄浦区| 盐城市| 清徐县| 和林格尔县| 射阳县| 喀喇沁旗| 清水河县| 巩留县| 祁连县| 甘洛县| 高要市| 汉川市| 丰镇市| 北碚区| 紫阳县| 黑河市| 紫金县| 清河县| 清水河县| 浮梁县| 黄龙县| 固阳县| 德州市| 黔西县|