版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
知識點(diǎn)列1注解方式實(shí)現(xiàn)SSH整合通過案例掌握使用注解方式整合2了解Spring*3AOP*4了解并掌握Spring框架結(jié)構(gòu)*5SpringSpringMVC*6作為課后作業(yè)。使用SSH*注 注解方式實(shí)現(xiàn)SSH整合 【案例1】注解方式實(shí)現(xiàn)SSH整合 Spring管理事務(wù)的策略 AOP動(dòng) 【案例2】動(dòng) Spring框架結(jié)構(gòu) SpringMVC 【案例3】SpringMVC ssh2重構(gòu)當(dāng)當(dāng)注意事項(xiàng) SSH整合1SSH整合拷貝spring4spring5請spring4首先我們開啟組件掃描,將bean<beansxmlns="<bean <propertyname="url"<propertyname="username"<propertyname="password"<propertyname="maxActive"<propertyname="initialSize"<beanid="mySessionFactory"<propertyname="dataSource"<property <property<propkey="hibernate.dialect"><prop<prop<beanid="userDao"<beanid="userService"<propertyname="userDao" <bean<tx:adviceid="txAdvice"transaction-<tx:methodname="save*"<tx:methodname="update*"<tx:methodname="delete*"<tx:methodname="find*"read-only="true"<tx:methodname="*",所以修改packageimportimportpackageimportimportimportimportpublicclassUserServiceImplimplementsUserServiceprivateprivateUserDAOpublicUserDAOgetUserDao()return}publicvoidsetUserDao(UserDAOuserDao)this.userDao=}publicbooleanfindLogin(Useruser)UserusrUserusr=if(usr!=eturn}}return}}}}修改加入注解,將DAObeanSpringpackageimportimportimportimportimportpublicclassextendsHibernateDaoSupportimplementsUserDAOpublicUser {Stringhql="fromUserpackagepackageimportimportimportimportimportpublicclassUserServiceImplimplementsUserServiceprivateUserDAOpublicUserDAOgetUserDao(){returnpublicvoidsetUserDao(UserDAOuserDao)this.userDao=publicbooleanfindLogin(Useruser)Userusr=if(usr!=List<User>listList<User>listUseruser=user=}return}}}}修改加入注解,將DAOService}}}return}}return但是,現(xiàn)在我們又遇到一個(gè)問題,HibernateUerDAOImpl但是,現(xiàn)在我們又遇到一個(gè)問題,HibernateUerDAOImplSessionFactory,那么我們需要將SessionFactory注入到其中。 修改隨便寫一個(gè)方法,這樣我們就可以使用注解@Resource從Springbean名為mySessionFactory;取出SessionFactoryHibernateUserSupportset(super.setSessionFactory(sessionFactory)),sessionFactory象。最后,如此兩個(gè)步驟,我們就完成了sessionFactory的注入。packageimportimportimportimportimportimportimportpublicclassextendsHibernateDaoSupportimplementsUserDAO}public}publicUser){{Stringhql="fromUser=?";List<User>listthis.getHibernateTemplate().find(hql,newObject[]{ Useruser=null;user=}return}}}}<bean<bean <propertyname="url"<propertyname="username"<propertyname="password"<propertyname="maxActive"<propertyname="initialSize"<beanid="mySessionFactory"<propertyname="dataSource"<property <property<propkey="hibernate.dialect"><prop<prop <beanid="txManager"<propertyname="sessionFactory"<tx:methodname="save*"<tx:methodname="update*"<tx:methodname="delete*"<tx:methodname="find*"read-only="true"<tx:methodname="*"修改packagepackagepublicclassUserServiceImplimplementsUserServiceprivateUserDAO}publicvoid}}eturn}}returnUserusr=if(usr!=publicbooleanfindLogin(Useruser)publicUserDAOgetUserDao()return}publicvoidsetUserDao(UserDAOuserDao)this.userDao=}新建ssh-<beans"""""<bean <propertyname="url"<propertyname="username"<propertyname="password"<propertyname="maxActive"<propertyname="initialSize"<beanid="mySessionFactory"<propertyname="dataSource"<property <property<propkey="hibernate.dialect"><prop<prop<web-app" 11)修改新建ssh-<beansxmlns=" <beanid="txManager"12)部署項(xiàng)目 步驟1,將項(xiàng)目中的mysql的Jar包mysql-connector-java-5.1.8-bin.jar刪除步驟2,拷貝該mysql的Jar包到Tomcat服務(wù)器的common/lib 刪除項(xiàng)目中的mysql的Jar將mysql的jar包拷貝到tomcat服務(wù)器的 13)測試(略(案例結(jié)束Spring管理事務(wù)的策略 AOP動(dòng) 動(dòng) 采用了AOP后,容器返回的對象 如果目標(biāo)對象有接口,采用如果目標(biāo)對象沒有接口,采用CGLIB【案例2】動(dòng)態(tài)新建工程配置好springpackagepackagepublicinterface{publicvoidpublicvoid}packagepackageimportpublicclassTest01publicvoidUserServiceuserService=newUserServiceImpl();}packageproxy;publicclassUserServiceImplimplementsUserServicepublicvoid{}publicvoidsave()}}新建測試類}} 運(yùn)行 動(dòng) 新建packageimportimportimportpublicclassJDKProxyFactoryimplementsprivateObjectprivateJDKProxyFactory()publicstaticJDKProxyFactoryreturnnew} publicObjectgetProxy(Classclazz)throwstargetclazz.newInstance(); oader(),clazz.getInterfaces(),this);return} @param@param@param@throwspublicObjectinvoke(Objectproxy,Methodmethod,Object[]{ObjectretVal=retValmethod.invoke(target,params);{}return}}packagepackageimportimportpublicclassTest01 publicvoidUserServiceuserService=newUserServiceImpl();}publicpublicvoidtestJDKProxy()throwsExceptionJDKProxyFactoryproxyFactory=JDKProxyFactory.getInstance();UserServiceuserService=}}}運(yùn)行如果沒有接口,比如更新部門時(shí),只有DeptServiceImplDeptService修改修改packageimportpublicclassTest01 publicvoidtestJDKProxy()throwsExceptionJDKProxyFactoryproxyFactory=JDKProxyFactory.getInstance();UserServiceuserService=}voidtestJDKProxy1()throwsJDKProxyFactoryproxyFactory=JDKProxyFactory.getInstance();DeptServiceImpldeptService=packagepublicclassDeptServiceImplpublic{}publicvoid}}測試在沒有接口情況下,使用JDK會(huì)出錯(cuò)的情新建}}}運(yùn)行這種情況下,我們就需要使用這種情況下,我們就需要使用13)新建packageimportimportimportimportpublicclassCGLIBProxyFactoryimplementsprivateObjectprivatepublicstaticCGLIBProxyFactoryreturnnew}}}publicObjectgetProxy(Classclazz)throwsException{target=clazz.newInstance();Enhancerenhancer=newEnhancer();return}publicObjectintercept(Objectproxy,Methodmethod,Object[]params,MethodProxymethodProxy)throwsThrowableObjectretVal=null;retVal=method.invoke(target,System.out.println(}return}修改packagepackageproxy;publicclassTest01 publicvoidtestJDKProxy()throwsExceptionUserServiceuserService=} publicvoidtestJDKProxy1()throwsDeptServiceImpldeptService=}voidtestGglibProxy()throwsDeptServiceImpldeptService=}}運(yùn)行(案例結(jié)束Spring框架結(jié)構(gòu)我們在使用學(xué)習(xí)Spring框架時(shí),只是重點(diǎn)介紹了IoC和AOP,這只是Spring強(qiáng)大功能的Core(TheIoCCore(TheIoCcontainer)AOPSpringSpring對JDBC的整合,屬于DAO 該封裝包提供了基礎(chǔ)的針對web此外Spring也提供了一種MVC實(shí)現(xiàn)。 Spring SpringMVC服務(wù)器控制器由 HandlerMap將請求映射到對應(yīng)的處理器Controller(相當(dāng)于Action)在Spring當(dāng)中如果寫一些處理器組件,一般實(shí)現(xiàn)Controller接口如果想將處理結(jié)果返回給用戶,那么在SpringViewResolver,該組件根據(jù)Controller返回的標(biāo)示,找到對應(yīng)的試圖,將響應(yīng)response返回給用戶處理3】SpringMVC新建工程導(dǎo)入Jar首先配置<?<?xmlversion="1.0"encoding="UTF-<web-app" 配 控制器 <?xmlversion<?xmlversion="1.0"encoding="UTF-<beansxmlns=""""""和之前的Spring寫視圖View(jsp 新建視圖頁面 同時(shí)actionlogin.do<%@pagecontentType="text/html;charset=utf-isELIgnored="false"pageEncoding="utf-<title>Inserttitle<formaction="login.do"用戶名:<inputtype="text" :<inputtype="text"" 新建視圖頁面<%@<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"接下來新建Controller,返回值是ModelAndViewpackagepackageimportimportimportimportpublicclassLoginControlimplementsControllerHttpServletResponsearg1)throwsException ()相當(dāng)于 ==StringpasswordStringpassword=)&&&&returnnew}returnnew}}}}<?xmlversion<?xmlversion="1.0"encoding="UTF-<beansxmlns=""""""<<beanid="loginControl"那么,從如上步驟中,我們已經(jīng)完成了SpringMVCDispatcherServlet、<beansxmlns=""""""<beanid="loginControl"<propertyname="commandClass"<!--配置 配置 修改spring-<beanid="urlMap <property <prop<!--定義ViewResolver組件,實(shí)現(xiàn)根據(jù)視圖標(biāo)識獲取JSP<!--定義ViewResolver組件,實(shí)現(xiàn)根據(jù)視圖標(biāo)識獲取JSP<beanid="viewResolver"View<propertyname="viewClass"<propertyname="suffix"<propertyname="prefix" jspLoginControl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GA/T 1003-2024銀行自助服務(wù)亭技術(shù)規(guī)范
- 銀行合規(guī)管理制度實(shí)施成效
- 高速公路安全行車管理制度
- 新學(xué)期美術(shù)教學(xué)工作計(jì)劃(23篇)
- 挑戰(zhàn)2024演講稿(31篇)
- 六年級下冊各具特色的民居課件
- 福建省泉州市惠安縣2023-2024學(xué)年七年級上學(xué)期期末考試數(shù)學(xué)試卷(含解析)
- 顧客服務(wù)政策的設(shè)計(jì)
- 7.2《歸園田居(其一)》課件 2024-2025學(xué)年統(tǒng)編版高中語文必修上冊
- 福州七中2025屆高考英語一模試卷含解析
- 成都錦城學(xué)院《數(shù)據(jù)庫原理與應(yīng)用》2023-2024學(xué)年期末試卷
- 時(shí)尚與品牌學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 電子課件中職英語基礎(chǔ)模塊下冊雙色U2-Role-Models
- 財(cái)務(wù)會(huì)計(jì)監(jiān)督檢查工作總結(jié)
- 人教版三年級上冊數(shù)學(xué)期末試卷含答案
- 西峽課件完整版本
- 2024秋期國家開放大學(xué)??啤陡叩葦?shù)學(xué)基礎(chǔ)》一平臺在線形考(形考任務(wù)一至四)試題及答案
- 《互聯(lián)網(wǎng)影響新體驗(yàn)》課件2024--2025學(xué)年人教版(2024)初中信息科技七年級全一冊
- 2024年合肥高新公共資源交易限公司招聘6人高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 2024山東濟(jì)南歷下控股集團(tuán)限公司招聘30人高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 《那一定會(huì)很好》公開課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
評論
0/150
提交評論