傳智播客springppt黎活明

傳智播客springppt黎活明

ID:26635618

大?。?51.35 KB

頁數(shù):67頁

時(shí)間:2018-11-28

傳智播客springppt黎活明_第1頁
傳智播客springppt黎活明_第2頁
傳智播客springppt黎活明_第3頁
傳智播客springppt黎活明_第4頁
傳智播客springppt黎活明_第5頁
資源描述:

《傳智播客springppt黎活明》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、北京傳智播客教育www.itcast.cnSpring企業(yè)開發(fā)講師:黎活明北京傳智播客教育www.itcast.cnSpring是什么Spring是一個(gè)開源的控制反轉(zhuǎn)(InversionofControl,IoC)和面向切面(AOP)的容器框架.它的主要目得是簡(jiǎn)化企業(yè)開發(fā).北京傳智播客教育www.itcast.cnIOC控制反轉(zhuǎn)publicclassPersonServiceBean{privatePersonDaopersonDao=newPersonDaoBean();publicvoidsave(Personpers

2、on){personDao.save(person);}}PersonDaoBean是在應(yīng)用內(nèi)部創(chuàng)建及維護(hù)的。所謂控制反轉(zhuǎn)就是應(yīng)用本身不負(fù)責(zé)依賴對(duì)象的創(chuàng)建及維護(hù),依賴對(duì)象的創(chuàng)建及維護(hù)是由外部容器負(fù)責(zé)的。這樣控制權(quán)就由應(yīng)用轉(zhuǎn)移到了外部容器,控制權(quán)的轉(zhuǎn)移就是所謂反轉(zhuǎn)。北京傳智播客教育www.itcast.cn依賴注入(DependencyInjection)當(dāng)我們把依賴對(duì)象交給外部容器負(fù)責(zé)創(chuàng)建,那么PersonServiceBean類可以改成如下:publicclassPersonServiceBean{privatePers

3、onDaopersonDao;//通過構(gòu)造器參數(shù),讓容器把創(chuàng)建好的依賴對(duì)象注入進(jìn)PersonServiceBean,當(dāng)然也可以使用setter方法進(jìn)行注入。publicPersonServiceBean(PersonDaopersonDao){this.personDao=personDao;}publicvoidsave(Personperson){personDao.save(person);}}所謂依賴注入就是指:在運(yùn)行期,由外部容器動(dòng)態(tài)地將依賴對(duì)象注入到組件中。北京傳智播客教育www.itcast.cn為何要使用S

4、pring至少在我看來,在項(xiàng)目中引入spring立即可以帶來下面的好處降低組件之間的耦合度,實(shí)現(xiàn)軟件各層之間的解耦??梢允褂萌萜魈峁┑谋姸喾?wù),如:事務(wù)管理服務(wù)、消息服務(wù)等等。當(dāng)我們使用容器管理事務(wù)時(shí),開發(fā)人員就不再需要手工控制事務(wù).也不需處理復(fù)雜的事務(wù)傳播。容器提供單例模式支持,開發(fā)人員不再需要自己編寫實(shí)現(xiàn)代碼。容器提供了AOP技術(shù),利用它很容易實(shí)現(xiàn)如權(quán)限攔截、運(yùn)行期監(jiān)控等功能。容器提供的眾多輔作類,使用這些類能夠加快應(yīng)用的開發(fā),如:JdbcTemplate、HibernateTemplate。Spring對(duì)于主流的應(yīng)用

5、框架提供了集成支持,如:集成Hibernate、JPA、Struts等,這樣更便于應(yīng)用的開發(fā)。ControllerServiceDAO北京傳智播客教育www.itcast.cn使用Spring的好處當(dāng)使用spring時(shí),我們可以使用容器提供的眾多服務(wù)北京傳智播客教育www.itcast.cn如果使用Spring,我們就不再需要手工控制事務(wù)Hibernate的事務(wù)操作:publicvoidsave(){Sessionsession=sessionFactory.getCurrentSession();session.begi

6、nTransaction();Infoinfo=newInfo("傳智播客");info.setContent("國(guó)內(nèi)實(shí)力最強(qiáng)的java培訓(xùn)機(jī)構(gòu)");session.save(info);session.getTransaction().commit();}JDBC的事務(wù)操作:Connectionconn=null;try{.......conn.setAutoCommit(false);Statementstmt=conn.createStatement();stmt.executeUpdate("updateperso

7、nwherename='葉天'");conn.commit();.....}catch(Exceptione){conn.rollback();}finally{conn.close();}北京傳智播客教育www.itcast.cn另外,如果使用spring,我們也不需要處理復(fù)雜的事務(wù)傳播行為publicvoidpayment(){Bean1.update();//更新金額Bean2.save();//記錄操作日志}如果我們不使用Spring,針對(duì)下面這兩種業(yè)務(wù)需求,我們?cè)撊绾巫???種可能的業(yè)務(wù)需求:要求Bean1.up

8、date()和Bean2.save()在同一個(gè)事務(wù)中執(zhí)行。第2種可能的業(yè)務(wù)需求:要求不管Bean1.update()的事務(wù)是否成功,都需要記錄操作日志。publicclassBean1{publicvoidupdate(){//注意:下面省略了一些代碼Connectionconn=null;conn.s

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。