spring(5).ppt_第1頁
spring(5).ppt_第2頁
spring(5).ppt_第3頁
spring(5).ppt_第4頁
spring(5).ppt_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、模板方法模式,模板方法模式定義一個操作中算法的骨架,而將一些步驟延遲到子類中,使得子類可以不改變一個算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟。 結(jié)構(gòu): AbstractClass(抽象類):定義了一到多個的抽象方法(protected abstract),以供具體的子類來實現(xiàn)它們;而且還要實現(xiàn)一個模板方法(final),來定義一個算法的骨架。該模板方法不僅調(diào)用前面的抽象方法,也可以調(diào)用其他的操作,只要能完成自身的使命。 ConcreteClass(具體類):實現(xiàn)父類中的抽象方法以完成算法中與特定子類相關(guān)的步驟。,練習(xí),銀行存款系統(tǒng)。 屬性:int account=1000 方法: getTyp

2、e():確定賬號類型 getInterestRate ():確定利率 calculateInterest():計算利息。算法:余額*利率 系統(tǒng)需要支持兩種存款賬號: 市場賬號A(AccountA) : 利率:0.035 存款賬號B(AccountB): 利率:0.085 用模板方法實現(xiàn),Spring對Hibernate的支持,使用Hibernate進(jìn)行持久層訪問時,存在一系列問題,比如訪問步驟重復(fù)多、基于Hibernate的DAO組件編寫復(fù)雜等。 Spring進(jìn)一步簡化了持久層的訪問,其模板降低了Hibernate的重復(fù)操作 IoC容器有效安全的管理Session以及SessionFactor

3、y 提高了DAO組件與業(yè)務(wù)邏輯層之間的解耦。,管理SessionFactory,Spring通過ApplicationContext管理SessionFactory,無須采用hibernate.cfg.xml。 數(shù)據(jù)源采用依賴注入的方式傳給SessionFactory。 SessionFactory隨著啟動的時候自動加載,可以被處于Spring管理下的任何bean引用,比如DAO。 在sessionFactory bean 類型:LocalSessionFactoryBean 屬性: dataSource mappingResources hibernateProperties,管理Sessi

4、onFactory, person.hbm.xml true create-drop ,HibernateTemplate,HibernateTemplate模板類用于持久層訪問,它無須顯式打開Session。只要獲得SessionFactory的引用,就可以智能的打開或關(guān)閉Session. HibernateTemplate的構(gòu)造方法: HibernateTemplate(SessionFactory factory),HibernateTemplate,方法 ; delete(Object o) find(String hql,param):根據(jù)HQL語句查詢 get(Class enti

5、tyClass, Serializable id):根據(jù)主鍵查詢 update(Object entity),HibernateCallback,通過這種方式可以完全使用hibernate的操作方式訪問數(shù)據(jù)庫。 List execute(HibernateCallback hc) HibernateCallback是接口,含有方法 Object doInHibernate(Session session),HibernateDAOSupport,Spring為hibernate的DAO提供的工具類,該類主要提供如下兩個方法來方便DAO的實現(xiàn)。 public HibernateTemplate

6、getHibernateTemplate(); public void setSessionFactory(SessionFactory factory),練習(xí),雙向1對多,插入數(shù)據(jù): 張三,學(xué)號2009001,2009年入學(xué),計算機(jī)系 李四,學(xué)號2008002,2008年入學(xué),數(shù)學(xué)系 王五,學(xué)號2007003,2007年入學(xué),物理系 功能要求: 使用spring初始化每個學(xué)生信息。 使用hibernateTemplate實現(xiàn)添刪改操作。 使用HibernateCallback實現(xiàn)Criteria查詢:查詢數(shù)學(xué)系的所有學(xué)生,及2007年入學(xué)的所有學(xué)生。查詢結(jié)果顯示學(xué)生的所有信息。,聲明式事務(wù),Sprin

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論