達(dá)內(nèi)-java視頻spring day通過案例掌握使用注解方式整合_第1頁
達(dá)內(nèi)-java視頻spring day通過案例掌握使用注解方式整合_第2頁
達(dá)內(nèi)-java視頻spring day通過案例掌握使用注解方式整合_第3頁
達(dá)內(nèi)-java視頻spring day通過案例掌握使用注解方式整合_第4頁
達(dá)內(nèi)-java視頻spring day通過案例掌握使用注解方式整合_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余37頁可下載查看

下載本文檔

版權(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動 【案例2】動 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)在我們又遇到一個問題,HibernateUerDAOImpl但是,現(xiàn)在我們又遇到一個問題,HibernateUerDAOImplSessionFactory,那么我們需要將SessionFactory注入到其中。 修改隨便寫一個方法,這樣我們就可以使用注解@Resource從Springbean名為mySessionFactory;取出SessionFactoryHibernateUserSupportset(super.setSessionFactory(sessionFactory)),sessionFactory象。最后,如此兩個步驟,我們就完成了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動 動 采用了AOP后,容器返回的對象 如果目標(biāo)對象有接口,采用如果目標(biāo)對象沒有接口,采用CGLIB【案例2】動態(tài)新建工程配置好springpackagepackagepublicinterface{publicvoidpublicvoid}packagepackageimportpublicclassTest01publicvoidUserServiceuserService=newUserServiceImpl();}packageproxy;publicclassUserServiceImplimplementsUserServicepublicvoid{}publicvoidsave()}}新建測試類}} 運(yùn)行 動 新建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)行如果沒有接口,比如更新部門時,只有DeptServiceImplDeptService修改修改packageimportpublicclassTest01 publicvoidtestJDKProxy()throwsExceptionJDKProxyFactoryproxyFactory=JDKProxyFactory.getInstance();UserServiceuserService=}voidtestJDKProxy1()throwsJDKProxyFactoryproxyFactory=JDKProxyFactory.getInstance();DeptServiceImpldeptService=packagepublicclassDeptServiceImplpublic{}publicvoid}}測試在沒有接口情況下,使用JDK會出錯的情新建}}}運(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框架時,只是重點(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 新建視圖頁面 同時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)容里面會有圖紙預(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

提交評論