![SSH學(xué)習(xí)心得體會_第1頁](http://file4.renrendoc.com/view/993132b411be8d4b46394bab80bff9b6/993132b411be8d4b46394bab80bff9b61.gif)
![SSH學(xué)習(xí)心得體會_第2頁](http://file4.renrendoc.com/view/993132b411be8d4b46394bab80bff9b6/993132b411be8d4b46394bab80bff9b62.gif)
![SSH學(xué)習(xí)心得體會_第3頁](http://file4.renrendoc.com/view/993132b411be8d4b46394bab80bff9b6/993132b411be8d4b46394bab80bff9b63.gif)
![SSH學(xué)習(xí)心得體會_第4頁](http://file4.renrendoc.com/view/993132b411be8d4b46394bab80bff9b6/993132b411be8d4b46394bab80bff9b64.gif)
![SSH學(xué)習(xí)心得體會_第5頁](http://file4.renrendoc.com/view/993132b411be8d4b46394bab80bff9b6/993132b411be8d4b46394bab80bff9b65.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
struts+spring+hibernate的整合總結(jié)文檔加包序次struts+Spring+Hibernate剔除,加入commons-pool.jar(加到lib里面),補(bǔ)上log4j.prperties(補(bǔ)在src下邊)加載spring配置文件<plug-inclassName="org.springframework.web.struts.ContextLoaderPlugIn"><set-propertyproperty="contextConfigLocation"value="/WEB-INF/classes/beans.xml"/></plug-in>配置更正spring動向代理<actionpath="/myAction"type="org.springframework.web.struts.DelegatingActionProxy"><forwardname="error"path="/error.jsp"/><forwardname="success"path="/success.jsp"/></action>5.Spring中的beans.xml注冊ActionBean<beanname="/myAction"class="com.accp.struts.action.MyAction"></bean>研究配置文件:.struts的配置文件和從前的struts配置文件相同不一樣的是程序的運(yùn)轉(zhuǎn)先要運(yùn)轉(zhuǎn)<plug-in>.......</plug-in>它的作用是加載spring它的寫法:<plug-inclassName="org.springframework.web.ContextLoaderPlugIn"><set-propertyproperty="contextConfigLocation"value="classpath:beans.xml"></plug-in>程序讀完beans.xml后進(jìn)入<action>........</action>在action中和從前不一樣的是程序?qū)⒈戎苯尤ミM(jìn)入相應(yīng)的類中辦理而是將控制權(quán).交給了spring在這里actiontype屬性值是:DelegatingActionProxy是一個(gè)實(shí)現(xiàn)類經(jīng)過它可以把控制權(quán)轉(zhuǎn)交給spring在運(yùn)轉(zhuǎn)spring在spring中找到action的path值name屬性的值假如找到了name的屬性值和path值相同就運(yùn)轉(zhuǎn)spring的這段代碼<actionpath="/myAction"type="org.springframework.web.struts.DelegatingActionProxy"><forwardname=""path="/*.jsp"></action>.spring的配置文件主要的構(gòu)成部分在spring里面第一要接action的path值<beanname="/myAction"class="com.accp.struts.MyAction"><propertyname="mybiz"ref="myBiz">/*name是隨意取名ref的值是一個(gè)類的代理名是這個(gè)配置文件中存在的beanid的值*/</property></bean>在spring里面接轉(zhuǎn)交權(quán)的bean是用name其余所有用idspring里面都是一些依賴注入【控制反轉(zhuǎn)】代碼<beanname="/myAction"class="com.accp.struts.action.MyAction"><propertyname="mybiz"ref="myBiz"></property>/*privateIMyBizmybiz;【MyAction類】*/</bean><beanid="myBiz"class=".MyBizImpl"><propertyname="myDao"ref="deptDAO"></property>name的值是這里來的:privateIMyDaomyDao;[MyBizImpl類]必定要注意:這里面的name屬性值是在詳盡的實(shí)現(xiàn)類中的的接口對象名</bean><beanid="deptDAO"class="com.accp.hibernate.DeptDAO"><propertyname="sessionFactory"><refbean="sessionFactory"></ref>.</property></bean>三.在剛開始學(xué)ssh架構(gòu)時(shí)操作出現(xiàn)的錯誤:粗心在加包的時(shí)候需要認(rèn)真固然很簡單,但要很清楚每一個(gè)框架在加包的時(shí)候都要注意的問題每一個(gè)框架在加包的時(shí)候都有自己的一種操作struts加包的時(shí)候需要注意選擇struts的版本問題當(dāng)心犯錯選struts1.2版本spring開始在復(fù)選框中選前3個(gè)和最后1個(gè)下邊選第二個(gè)copychecked...........->next->將xml的名字改為簡單點(diǎn)如:beans.xml這個(gè)是spring的配置文件hibernate開始選擇復(fù)選框中所有下邊的選第二個(gè)copychecked.......->next選第二個(gè)spring...-->選第二個(gè)Existingspring......-->SessinFactoryID:填sessionFactory-->nextBeanId這個(gè)是數(shù)據(jù)源的名字隨意給下邊選所需的數(shù)據(jù)庫--》next選所在工程的路徑包接著new包-》finally提升編程效率簡單出現(xiàn)的錯誤·自動生成數(shù)據(jù)映照文件在所示的數(shù)據(jù)庫表右擊選倒數(shù)第二個(gè)HibernateR.......--->next復(fù)選框選前3個(gè)在第2個(gè)復(fù)選框中把createabstractclass去掉---》next選主鍵生成器向來next就ok在這個(gè)映照文件中它會生成struts多表關(guān)系假如程序是單表操作則需要將它干掉做到這里的時(shí)候要到這個(gè)包中.生成的實(shí)體中相應(yīng)關(guān)系的代碼都要干掉要干干凈我們可以給這個(gè)包中在增添接口(規(guī)則),這個(gè)接口的方法就寫它生成DAO中的方法而后再在它生成的DAO類中實(shí)現(xiàn)這個(gè)接口的形式字樣(其實(shí)這個(gè)是一個(gè)存在的形式,由于時(shí)依據(jù)人家生成好的方法在寫的接口)這樣做主若是為了方便業(yè)務(wù)層(..bizImpl)中進(jìn)行依賴注入【控制反轉(zhuǎn)】的辦理。Spring從加入程序開始理解:packagecom.accp.hibernate;importorg.hibernate.SessionFactory;importorg.springframework.context.ApplicationContext;importorg.springframework.context.support.ClassPathXmlApplicationContext;importorg.springframework.orm.hibernate3.HibernateTemplate;publicclassDeptDao{privateSessionFactorysessionFactory;publicvoidsetSessionFactory(SessionFactorysessionFactory){this.sessionFactory=sessionFactory;}privateHibernateTemplategetHibernateTemplate( ){returnnewHibernateTemplate(sessionFactory);}publicDeptgetInfoById(intid){/***在開始的時(shí)候它就是從前的純hibernate環(huán)境下開發(fā)的過程它有7大對象7大步驟此刻SessionFactory直接有了Spring的管理就可以簡化開始的一些步驟不直接讀取映照文件(數(shù)據(jù)源)由于這些都有spring進(jìn)行了管理這里就可以直接的讀取spring.xml配置文件這里需要獲取ApplicationContext來操作*把sessionFactory作為一個(gè)javaBean對象注入而后讀取的是這個(gè)Bean對象獲取了SessionFactory對象后就可以打開一個(gè)Session獲取session的對象后不用去創(chuàng)立事物了*session可以直接的去調(diào)用業(yè)務(wù)方法這里面獲取的Session需要打開關(guān)閉.這是Spring出現(xiàn)后給Hibernate和Struts帶來的便利這個(gè)時(shí)候不需要對sesion進(jìn)行管理我們使用模板類(HibernateTemplate)這個(gè)類中它做了對session的管理辦理*只要要利用這個(gè)HibernateTemplate類的getHibernateTemplate( )方法[構(gòu)造方法]可以給*我們做我們想要做的業(yè)務(wù)辦理*數(shù)據(jù)源的獲取直接都有spring來做*///ApplicationContextac=newClassPathXmlApplicationContext("beans.xml");//SessionFactorysf=(SessionFactory)ac.getBean("sessionFactory");Sessions=sf.openSession( );//Deptde=(Dept)s.get(Dept.class,newLong(id));s.close( );returnde;returnnull;}/***在第二版的時(shí)候,引入了Spring的管理spring的加入是程序的構(gòu)造更加的規(guī)范程序不在是那么擁有耦合性而是更擁有接偶性*這個(gè)時(shí)候不需要對sesion進(jìn)行管理我們使用模板類(HibernateTemplate)這個(gè)類中它做了對session的管理辦理*只要要利用這個(gè)HibernateTemplate類的getHibernateTemplate( )方法[構(gòu)造方法]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年群路密碼機(jī)系列合作協(xié)議書
- 人教版一年級語文下冊《吃水不忘挖井人》教學(xué)設(shè)計(jì)
- 2025年速凍丸類制品合作協(xié)議書
- 2025年個(gè)體診所合作協(xié)議(三篇)
- 2025年買賣別墅合同模板(三篇)
- 2025年產(chǎn)品區(qū)域代理合同協(xié)議常用版(2篇)
- 2025年產(chǎn)品設(shè)計(jì)合同(三篇)
- 2025年二年級教研組工作總結(jié)(2篇)
- 2025年個(gè)人幼兒園的課題總結(jié)范文(二篇)
- 2025年個(gè)人房屋防水施工合同模板(2篇)
- 城市隧道工程施工質(zhì)量驗(yàn)收規(guī)范
- 2025年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招高職單招英語2016-2024年參考題庫含答案解析
- 2025江蘇太倉水務(wù)集團(tuán)招聘18人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024-2025學(xué)年人教新版高二(上)英語寒假作業(yè)(五)
- 2021年江蘇省淮安市淮陰中學(xué)高一政治下學(xué)期期末試題含解析
- 公共政策工具-課件
- 石油化工、煤化工、天然氣化工優(yōu)劣勢分析
- Q∕GDW 12118.3-2021 人工智能平臺架構(gòu)及技術(shù)要求 第3部分:樣本庫格式
- 客戶的分級管理培訓(xùn)(共60頁).ppt
- 廣東省義務(wù)教育階段學(xué)生轉(zhuǎn)學(xué)轉(zhuǎn)出申請表(樣本)
- 如何成為一個(gè)優(yōu)秀的生產(chǎn)經(jīng)理
評論
0/150
提交評論