SSH學(xué)習(xí)心得體會(huì).doc_第1頁
SSH學(xué)習(xí)心得體會(huì).doc_第2頁
SSH學(xué)習(xí)心得體會(huì).doc_第3頁
SSH學(xué)習(xí)心得體會(huì).doc_第4頁
SSH學(xué)習(xí)心得體會(huì).doc_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

struts + spring + hibernate 的整合 總結(jié)文檔1.加包順序 struts+Spring+Hibernate2.剔除asm2.2.3.jar ,加入commons-pool.jar(加到lib里面),補(bǔ)上log4j.prperties(補(bǔ)在src下面)3.加載spring配置文件 4.struts-config.xml配置修改spring動(dòng)態(tài)代理 5.Spring 中的 beans.xml注冊(cè)Action Bean 研究配置文件: 一. struts的配置文件 和以前的struts配置文件一樣 不同的是程序的運(yùn)行先要運(yùn)行.它的作用是加載spring 它的寫法: 程序讀完 beans.xml 后進(jìn)入. 在action中和以前不同的是程序?qū)⒈戎苯尤ミM(jìn)入相應(yīng)的類中處理而是將控制權(quán)交給了spring 在這里action type屬性值是:org.springframework.web.struts.DelegatingActionProxy DelegatingActionProxy 是一個(gè)實(shí)現(xiàn)類 通過它可以把控制權(quán)轉(zhuǎn)交給spring 在運(yùn)行spring 在spring 中找到 action的path值 name屬性的值 如果找到了name 的屬性值和path值相同就運(yùn)行spring的這段代碼 二. spring的配置文件 主要的組成部分 在spring里面首先要接action的path值 /* name是隨便取名 ref的值是一個(gè)類的代理名 是這個(gè)配置文件中存在的bean id的值 */ 在spring 里面接轉(zhuǎn)交權(quán) 的bean 是用name 其他全部用id spring里面都是一些依賴注入【控制反轉(zhuǎn)】代碼 /* private IMyBiz mybiz;【MyAction 類】 */ name的值是這里來的: private IMyDao myDao;MyBizImpl類 一定要注意:這里面的name屬性值是在 具體的實(shí)現(xiàn)類中的 的接口對(duì)象名 三.在剛開始學(xué)ssh架構(gòu)時(shí) 操作出現(xiàn)的錯(cuò)誤: 1.粗心 在加包的時(shí)候需要細(xì)心 雖然很簡單,但要很清楚每一個(gè)框架在加包的時(shí)候都要注意的問題 每一個(gè)框架在加包的時(shí)候都有自己的一種操作 struts 加包的時(shí)候需要注意選擇struts的版本問題 小心出錯(cuò) 選struts 1.2版本 spring 開始在復(fù)選框中 選前3個(gè) 和最后1個(gè) 下面選第二個(gè) copy checked.-next- 將xml 的名字改為簡單點(diǎn) 如:beans.xml 這個(gè)是spring 的配置文件 hibernate 開始選擇復(fù)選框中所有 下面的選第二個(gè) copy checked.-next 選第二個(gè)spring. -選第二個(gè)Existing spring . - SessinFactory ID : 填 sessionFactory -next Bean Id 這個(gè)是 數(shù)據(jù)源的名字 隨便給 下面選所需的數(shù)據(jù)庫 -next 選所在工程的路徑包 接著new 包 - finally 2. 提高編程效率容易出現(xiàn)的錯(cuò)誤 自動(dòng)生成數(shù)據(jù)映射文件 在所示的數(shù)據(jù)庫表 右擊選倒數(shù)第二個(gè) Hibernate R. -next 復(fù)選框選前3個(gè) 在第2個(gè)復(fù)選框中 把create abstract class 去掉 -next 選主鍵生成器 一直next就ok 在這個(gè)映射文件中它會(huì)生成 struts多表關(guān)系 如果程序是單表操作則需要將它干掉 做到這里的時(shí)候要到這個(gè)包中 生成的實(shí)體中相應(yīng)關(guān)系的代碼都要干掉 要干干凈 我們可以給這個(gè)包中在添加接口(規(guī)則),這個(gè)接口的方法就寫它生成DAO中的方法 然后再在它生成的DAO類中實(shí)現(xiàn) 這個(gè)接口的形式字樣(其實(shí)這個(gè)是一個(gè)存在的形式,因?yàn)闀r(shí)按照人家生成好的方法在寫的接口) 這樣做主要是為了方便業(yè)務(wù)層(.bizImpl)中進(jìn)行依賴注入【控制反轉(zhuǎn)】的處理。Spring 從加入程序開始理解:package com.accp.hibernate;import org.hibernate.SessionFactory;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.orm.hibernate3.HibernateTemplate;public class DeptDao private SessionFactory sessionFactory;public void setSessionFactory(SessionFactory sessionFactory) this.sessionFactory = sessionFactory;private HibernateTemplate getHibernateTemplate()return new HibernateTemplate(sessionFactory);public Dept getInfoById(int id)/* * 在開始的時(shí)候它就是以前的純hibernate環(huán)境下開發(fā)的過程它有7大對(duì)象7大步驟 * 現(xiàn)在SessionFactory直接有了Spring的管理 就可以簡化開始的一些步驟 不直接讀取映射文件(數(shù)據(jù)源) * 因?yàn)檫@些都有spring進(jìn)行了管理 這里就可以直接的讀取spring.xml配置文件 這里需要獲取ApplicationContext來操作 * 把sessionFactory作為一個(gè)javaBean對(duì)象注入然后讀取的是這個(gè)Bean對(duì)象 * 獲得了SessionFactory對(duì)象后就可以打開一個(gè)Session 得到session的對(duì)象后不用去創(chuàng)建事物了 * session可以直接的去調(diào)用業(yè)務(wù)方法 這里面得到的Session需要打開關(guān)閉 * 這是Spring出現(xiàn)后給Hibernate和Struts帶來的便利 * 這個(gè)時(shí)候不需要對(duì)sesion進(jìn)行管理 * 我們使用模板類(HibernateTemplate)這個(gè)類中它做了對(duì)session的管理處理 * 只需要利用這個(gè)HibernateTemplate類的getHibernateTemplate()方法構(gòu)造方法可以給 * 我們做我們想要做的業(yè)務(wù)處理 * 數(shù)據(jù)源的獲取直接都有spring來做 */ApplicationContext ac = new ClassPathXmlApplicationContext(beans.xml);/SessionFactory sf = (SessionFactory) ac.getBean(sessionFactory);/Session s = sf.openSession();/Dept de =(Dept)s.get(Dept.class, new Long(id);/s.close();/return de;return null; /* * 在第二版的時(shí)候,引入了Spring的管理 spring的加入是程序的結(jié)構(gòu)更加的規(guī)范 * 程序不在是那么具有耦合性 而是更具有接偶性 * * 這個(gè)時(shí)候不需要對(duì)sesion進(jìn)行管理 * 我們使用模板類(HibernateTemplate)這個(gè)類中它做了對(duì)session的管理處理 * 只需要利用這個(gè)HibernateTemplate類的getHibernateTemplate()方法構(gòu)造方法可以給 * 我們做我們想要做的業(yè)務(wù)處理 * 數(shù)據(jù)源的獲取直接都有spring來做 */public Dept get

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論