![框架整合授課章_第1頁](http://file4.renrendoc.com/view11/M03/3E/0A/wKhkGWWeZAqATiKHAABFB0f6piE999.jpg)
![框架整合授課章_第2頁](http://file4.renrendoc.com/view11/M03/3E/0A/wKhkGWWeZAqATiKHAABFB0f6piE9992.jpg)
![框架整合授課章_第3頁](http://file4.renrendoc.com/view11/M03/3E/0A/wKhkGWWeZAqATiKHAABFB0f6piE9993.jpg)
![框架整合授課章_第4頁](http://file4.renrendoc.com/view11/M03/3E/0A/wKhkGWWeZAqATiKHAABFB0f6piE9994.jpg)
![框架整合授課章_第5頁](http://file4.renrendoc.com/view11/M03/3E/0A/wKhkGWWeZAqATiKHAABFB0f6piE9995.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第三章SSH框架整合1第三單元本章相關(guān)學(xué)習(xí)資源《利用Spring集成Hibernate》專題《利用AOP管理Hibernate事務(wù)》專題《整合Spring和Struts2》專題《使用Spring實現(xiàn)系統(tǒng)權(quán)限管理》第3章《SSH框架整合》第2頁/共36頁學(xué)習(xí)平臺“Spring與輕量級JavaEE開發(fā)”課程學(xué)生用書預(yù)習(xí)檢查在項目中使用Spring框架有什么好處?Spring整合Hibernate時,需要在Spring容器中配置哪些對象?Spring整合Hibernate時,數(shù)據(jù)庫事務(wù)使用什么方式來管理?第3頁/共36頁提問本章任務(wù)任務(wù)1:整合Spring和Hibernate框架任務(wù)2:使用SpringAOP實現(xiàn)聲明式事務(wù)管理任務(wù)3:整合Spring和Struts2框架第4頁/共36頁掌握Spring整合Hibernate掌握Spring的聲明式事務(wù)管理熟練使用HibernateTemplate本章目標(biāo)第5頁/共36頁點重點難掌握Spring整合Struts2點重點重點重點難點難講解:任務(wù)1整合Spring和Hibernate框架實現(xiàn)要點掌握整合Spring和Hibernate的基本步驟記住各種配置的代碼,理解各種配置的作用掌握HibernateTemplate的使用第6頁/共36頁演示示例:整合Spring和Hibernate框架串講:SSH程序架構(gòu)SSH程序架構(gòu):第7頁/共36頁數(shù)據(jù)源管理連接池,并提供鏈接對象SessionFactory管理Session串講:SSH框架整合步驟SSH框架整合步驟:(1)添加jar文件,并創(chuàng)建相關(guān)的配置文件(2)為Hibernate配置數(shù)據(jù)源對象(3)配置SessionFactory對象(4)實現(xiàn)并配置Dao和Service(5)使用Spring簡化數(shù)據(jù)庫事務(wù)處理,即配置聲明式事務(wù)管理(6)實現(xiàn)并配置Action第8頁/共36頁串講:添加通用jar文件(一)第9頁/共36頁jar文件名說明commons-io-2.0.1.jarApache的IO操作輔助框架commons-fileupload-1.2.jarApache的文件上傳輔助框架commons-collections-3.2.jarApache的集合框架,完善并擴充了Java的集合類commons-lang3-3.1.jar完善并擴充了java.lang下的類dom4j-1.6.1.jarXML文件的解析框架通用的jar文件(jar包),一般的大型框架都會使用它們,在Hibernate、Struts2、Spring的下載包中可以找到它們串講:添加通用jar文件(續(xù))第10頁/共36頁jar文件名說明asm-3.3.jar可以生成和操作Java的字節(jié)碼,是cglib依賴的jarcglib-2.2.jar對asm進行了封裝,Spring的AOP實現(xiàn)就是使用它來生成動態(tài)字節(jié)碼cglib-nodep-2.2.jar作用和cglib-2.2.jar相同,但不依賴其他jar包javassist-3.11.0.GA.jar作用和cglib相似,Hibernate使用它來操作字節(jié)碼jcl-over-slf4j-1.5.8.jar該組件中聲明了和commons-logging.jar相同的日志接口,并把jcl日志接口統(tǒng)一為slf4j的實現(xiàn)slf4j-api-1.5.8.jar聲明了slf4j的日志接口slf4j-log4j12-1.5.8.jar把slf4j的日志接口轉(zhuǎn)化為log4j的實現(xiàn)log4j-1.2.16.jarjcl日志接口的實現(xiàn)框架,該框架已經(jīng)不再更新,可以使用新的logback來代替它串講:添加Hibernatejar文件第11頁/共36頁jar文件名說明hibernate3.jarHibernate3的核心類庫ejb3-persistence.jar定義了與EJB3持久化相關(guān)了注解,使用Hibernate注解時需要它hibernate-annotations.jarHibernate注解的實現(xiàn)框架mons-annotations.jarHibernate注解的實現(xiàn)框架ehcache-1.2.3.jarHibernate的二級緩存實現(xiàn)框架jta-1.1.jar定義JTA規(guī)范的jar文件antlr-2.7.6.jar語言識別工具,解析HQL時需要它c3p0-0.9.1.jarc3p0的數(shù)據(jù)源實現(xiàn)框架ojdbc14.jarOracle數(shù)據(jù)庫的驅(qū)動包串講:添加Springjar文件(一)第12頁/共36頁jar文件名說明aopalliance-1.0.jar聲明AOP標(biāo)準(zhǔn)接口的jar文件aspectjweaver-1.6.9.jarAspectj框架中實現(xiàn)動態(tài)織入的jar文件org.springframework.core-3.1.1.RELEASE.jar定義了Spring的核心類庫,Spring的其他組件都要用到它org.springframework.beans-3.1.1.RELEASE.jar定義了訪問配置文件、創(chuàng)建并管理Bean等相關(guān)的類org.springframework.context-3.1.1.RELEASE.jar為Spring提供擴展,使用ApplicationContext、JNDI、模板等功能時需要它org.springframework.orm-3.1.1.RELEASE.jar支持各種ORM框架org.springframework.expression-3.1.1.RELEASE.jar支持Spring表達式語言串講:添加Springjar文件(續(xù))第13頁/共36頁jar文件名說明org.springframework.transaction-3.1.1.RELEASE.jar支持各種事務(wù)管理策略,如聲明式事務(wù)管理org.springframework.jdbc-3.1.1.RELEASE.jar封裝了使用JDBC訪問數(shù)據(jù)庫的類org.springframework.asm-3.1.1.RELEASE.jar封裝了操作Java的字節(jié)碼的類org.springframework.aop-3.1.1.RELEASE.jar實現(xiàn)了Spring中的AOP特性org.springframework.web-3.1.1.RELEASE.jar封裝了使用Spring進行Web開發(fā)時需要的類串講:添加Struts2jar文件第14頁/共36頁jar文件名說明struts2-core-.jarStruts2的核心包xwork-core-.jarxwork的核心包,與Struts2的核心包一起實現(xiàn)了Struts2框架的大部分功能freemarker-2.3.19.jar支持模板引擎的jar包,模板引擎是一個基于模板生成文本輸出的通用工具ognl-3.0.5.jarStruts2支持OGNL表達式的jar包json-lib-2.3-jdk15.jar支持JSON格式數(shù)據(jù)的插件包struts2-dojo-plugin-.jarStruts2整合DOJO框架的插件,DOJO是一個面向?qū)ο蟮腏avaScript框架,其作用類似于ExtJsstruts2-spring-plugin-.jarSpring和Struts2整合時需要的插件包串講:配置c3p0數(shù)據(jù)源<beanid="dataSource"destroy-method="close"class="com.mchange.v2.c3p0.ComboPooledDataSource"><propertyname="driverClass"value="oracle.jdbc.driver.OracleDriver"/><propertyname="jdbcUrl"value="jdbc:oracle:thin:@localhost:1521:orcl"/><propertyname="user"value="scott"/><propertyname="password"value="tiger"/><propertyname="maxPoolSize"value="40"/><propertyname="minPoolSize"value="1"/><propertyname="initialPoolSize"value="1"/><propertyname="maxIdleTime"value="60"/><propertyname="checkoutTimeout"value="2000"/></bean>第15頁/共36頁連接驅(qū)動類數(shù)據(jù)庫URL最大連接數(shù)最小連接數(shù)初始化連接數(shù)連接的最大空閑時間等待連接的時間串講:配置SessionFactory第16頁/共36頁配置SessionFactory步驟:(1)配置AnnotationSessionFactoryBean或LocalSessionFactoryBean對象
(2)配置hibernateProperties,如Hibernate方言、二級緩存等(3)配置XML映射文件或POJO類源代碼講解:SessionFactory的配置代碼串講:實現(xiàn)并配置Dao第17頁/共36頁通用的Dao體系設(shè)計:BaseDao接口BaseDaoImplUserDao接口UserDaoImpl實現(xiàn)了通用的數(shù)據(jù)庫操作,可借助Spring現(xiàn)有的HibernateTemplate聲明針對User對象的操作源代碼講解:SSH項目中Dao的實現(xiàn)串講:配置Dao第18頁/共36頁在Spring容器中配置Dao:<beanid="baseDao"abstract="true"class="org.springframework.orm.hibernate3.BaseDaoImpl"><propertyname="hibernateTemplate"ref="hibernateTemplate"/></bean><beanid="groupDao"parent="baseDao"class="com.pb.dao.impl.GroupDaoImpl"></bean><beanid="userDao"parent="baseDao"class="com.pb.dao.impl.UserDaoImpl"></bean>配置抽象類為baseDao注入hibernateTemplate配置繼承關(guān)系串講:實現(xiàn)并配置Service第19頁/共36頁實現(xiàn)Service:publicclassUserServiceImplimplementsUserService{privateUserDaouserDao;privateGroupDaogroupDao;publicList<User>searchAll(){returnthis.userDao.findAll();}//省略getter、setter和其他業(yè)務(wù)方法}配置Service:<beanid="userService"class="com.pb.service.impl.UserServiceImpl"><propertyname="userDao"ref="userDao"/><propertyname="groupDao"ref="groupDao"/></bean> 實現(xiàn)業(yè)務(wù)接口為Service注入需要的Dao上機練習(xí)需求說明整合Spring和Hibernate框架參照任務(wù)1的案例完成第20頁/共36頁完成時間:40分鐘共性問題集中講解講解:任務(wù)2使用SpringAOP實現(xiàn)聲明式事務(wù)管理實現(xiàn)要點掌握配置聲明式事務(wù)的基本步驟記住配置的代碼,理解各種配置的作用第21頁/共36頁演示示例:使用SpringAOP實現(xiàn)聲明式事務(wù)管理串講:聲明式事務(wù)第22頁/共36頁聲明式事務(wù)是指以配置,而非代碼的形式來管理事務(wù),擁有如下特點:基于AOP實現(xiàn)與代碼完全分離,配置即可用,工作量小,解耦度高要求約定連接點的命名規(guī)范實現(xiàn)步驟:配置事務(wù)管理類對象配置事務(wù)的advisor增強處理類配置事務(wù)的AOP切入點,并織入事務(wù)處理串講:配置事務(wù)管理類第23頁/共36頁Spring為Hibernate提供了事務(wù)管理類HibernateTransactionManager,它是數(shù)據(jù)庫事務(wù)的真正實現(xiàn)者,首先要把它配置到Spring容器中:<beanid="txManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><propertyname="sessionFactory"ref="sessionFactory"/></bean>
注入sessionFactory串講:
配置advisor增強處理類第24頁/共36頁聲明式事務(wù)管理以AOP方式實現(xiàn),Spring提供了advisor類型的增強處理,配置如下:<tx:adviceid="txAdvice"transaction-manager="txManager"><tx:attributes><tx:methodname="*"/><tx:methodname="search*"read-only="true"/><tx:methodname="get*"propagation="NEVER"/><tx:methodname="set*"propagation="NEVER"/></tx:attributes></tx:advice>實現(xiàn)事務(wù)的增強處理標(biāo)簽事務(wù)的真實實現(xiàn)者所有連接點全部加入事務(wù)處理以“search*”開頭的方法設(shè)置為只讀事務(wù)排除setter、getter方法加入事務(wù)串講:織入事務(wù)處理第25頁/共36頁事務(wù)的增強處理配置好以后,還需要把它織入到切入點,配置如下:<aop:config><aop:pointcutid="service"expression="execution(public*com.pb.service.impl..*(..))"/><aop:advisoradvice-ref="txAdvice"pointcut-ref="service"/></aop:config>定義切入點切入點表達式,事務(wù)的切入點一般定義在service層在切入點織入事務(wù)增強處理上機練習(xí)需求說明使用SpringAOP實現(xiàn)聲明式事務(wù)管理參照任務(wù)2的案例完成第26頁/共36頁完成時間:20分鐘共性問題集中講解講解:任務(wù)3整合Spring和Struts2框架實現(xiàn)要點掌握整合Spring和Struts2框架的基本步驟記住配置的代碼,理解各種配置的作用第27頁/共36頁演示示例:整合Spring和Struts2框架串講:整合Struts2框架第28頁/共36頁為什么需要整合Struts2框架?利用Spring的IoC為Action注入ServiceAction被Spring管理后,就能使用Spring的AOP等特性整合步驟:通過Listener加載Spring容器使用Spring管理Action配置Action對象使用Action處理請求串講:加載Spring容器第29頁/共36頁在Web應(yīng)用程序中,一般使用監(jiān)聽器來加載Spring容器,Spring提供了相應(yīng)的監(jiān)聽器,在web.xml中配置即可:<context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>Spring配置文件的路徑實現(xiàn)加載Spring容器的監(jiān)聽器串講:使用Spring管理Action第30頁/共36頁該功能由struts2-spring-plugin-.jar來實現(xiàn),只需添加它即可。該jar包的struts-plugin.xml文件中有如下配置:<struts><beantype="com.opensymphony.xwork2.ObjectFactory"name="spring"class="org.apache.struts2.spring.StrutsSpringObjectFactory"/><constantname="struts.objectFactory"value="spring"/><!--其他配置--></struts>Struts2中的Action工廠被Spring中的StrutsSpringObjectFactory代替Struts2中的對象創(chuàng)建工廠被StrutsSpringObjectFactory代替串講:配
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高效使用空間提升學(xué)校運動場地的布局合理性探討
- 二零二五年度網(wǎng)約車營運股份合同協(xié)議書
- 2025年度水電工程安全施工與質(zhì)量保障承包合同
- 2025年度用工協(xié)議與勞動合同在跨國企業(yè)中的適用問題
- 2025年度智能制造高級工程師聘用合同
- 2025年度二零二五年度門面房租賃與時尚潮流街區(qū)合同
- 2025年度不動產(chǎn)資產(chǎn)代持服務(wù)合同
- 高校學(xué)生宿舍區(qū)地震安全防范與應(yīng)急處置研究
- 現(xiàn)代信息技術(shù)在學(xué)校實驗教學(xué)中的應(yīng)用研究
- 高科技公司的研發(fā)部門內(nèi)部空間設(shè)計
- 2025年度高端商務(wù)車輛聘用司機勞動合同模板(專業(yè)版)4篇
- GB/T 45107-2024表土剝離及其再利用技術(shù)要求
- 2025長江航道工程局招聘101人歷年高頻重點提升(共500題)附帶答案詳解
- 2025年黑龍江哈爾濱市面向社會招聘社區(qū)工作者1598人歷年高頻重點提升(共500題)附帶答案詳解
- 《妊娠期惡心嘔吐及妊娠劇吐管理指南(2024年)》解讀
- 《黑神話:悟空》跨文化傳播策略與路徑研究
- 《古希臘文明》課件
- 居家養(yǎng)老上門服務(wù)投標(biāo)文件
- 長沙市公安局交通警察支隊招聘普通雇員筆試真題2023
- 2025年高考語文作文滿分范文6篇
- 零售業(yè)連鎖加盟合同
評論
0/150
提交評論