




免費(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 薄壁空心墩施工專項(xiàng)方案指南
- 牛津樹-自然拼讀-等級(jí)2-level 2 -U1-Lesson2
- 部編版三年級(jí)下冊(cè)第三單元《紙的發(fā)明》教案
- 建筑施工特種作業(yè)-橋(門)式起重機(jī)司機(jī)真題庫-3
- 建筑施工特種作業(yè)-建筑起重機(jī)械安裝拆卸工(塔式起重機(jī))真題庫-10
- 日語基礎(chǔ)閱讀題目及答案
- 2023-2024學(xué)年山東省聊城市高二下學(xué)期期末教學(xué)質(zhì)量抽測(cè)數(shù)學(xué)試題(解析版)
- 2023-2024學(xué)年河南省濮陽市高二下學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)數(shù)學(xué)試題(解析版)
- 回復(fù)函建議意見
- 飽和蒸汽壓力溫度熱焓對(duì)照表
- 無人機(jī)駕駛員雇傭合同協(xié)議
- 湖南省長沙市華益中學(xué)2023-2024學(xué)年八年級(jí)下學(xué)期期末考試英語試卷(含答案)
- 海南省瓊海市2023-2024學(xué)年七年級(jí)下學(xué)期期末考試歷史試卷(含答案)
- 浙江寧波歷年中考作文題與審題指導(dǎo)(2007-2021)
- 兒童樂園用工合同范本
- 小兒燙傷個(gè)案護(hù)理
- 山東省肥城市2025年化學(xué)高二下期末監(jiān)測(cè)試題含解析
- 冶金天車作業(yè)安全培訓(xùn)
- (重慶康德三診)2025年重慶市高三第三次聯(lián)合診斷檢測(cè)政治試卷(含答案解析)
- (人教版)2025年中考化學(xué)真題試題(含解析)
- 煤炭行業(yè)的企業(yè)戰(zhàn)略布局與資源整合考核試卷
評(píng)論
0/150
提交評(píng)論