![applicationContext.xml詳解_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/16/62514fd7-88e4-461e-a49b-242e9ec2642d/62514fd7-88e4-461e-a49b-242e9ec2642d1.gif)
![applicationContext.xml詳解_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/16/62514fd7-88e4-461e-a49b-242e9ec2642d/62514fd7-88e4-461e-a49b-242e9ec2642d2.gif)
![applicationContext.xml詳解_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/16/62514fd7-88e4-461e-a49b-242e9ec2642d/62514fd7-88e4-461e-a49b-242e9ec2642d3.gif)
![applicationContext.xml詳解_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/16/62514fd7-88e4-461e-a49b-242e9ec2642d/62514fd7-88e4-461e-a49b-242e9ec2642d4.gif)
![applicationContext.xml詳解_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/16/62514fd7-88e4-461e-a49b-242e9ec2642d/62514fd7-88e4-461e-a49b-242e9ec2642d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、想必用過Spring的程序員們都有這樣的感覺,Spring把邏輯層封裝的太完美了(個(gè)人感覺View層封裝的不是很好)。以至于有的初學(xué)者都不知道Spring配置文件的意思,就拿來用了。所以今天我給大家詳細(xì)解釋一下Spring的applicationContext.xml文件。Ok,還是通過代碼加注釋的方式為大家演示:以下是詳解Spring的applicationContext.xml文件代碼:<!- 頭文件,主要注意一下編碼-><?xml versio n="1.0" en codi ng="UTF-8"?>VDOCTYPE bea
2、 ns PUBLIC "-/SPRING/DTD BEAN/EN" "http:/www.sprin /dtd/spri ng-bea ns.dtd"><beans><!- 建立數(shù)據(jù)源-><bea n id="dataSource"class=" mon s.dbcp.BasicDataSource"><!- 數(shù)據(jù)庫驅(qū)動(dòng),我這里使用的是Mysql數(shù)據(jù)庫-><propertyn ame="driverClassName&
3、quot;><value>com.mysql.jdbc.Driver</value></property><!- 數(shù)據(jù)庫地址,這里也要注意一下編碼,不然亂碼可是很郁悶的哦!-><propertyn ame="url"><value>jdbc:mysql:/localhost:3306/tie?use Uni code=true&characterE neodin g=utf-8</value></property><!-數(shù)據(jù)庫的用戶名-><
4、propertyn ame="user name"<value>root</value></property><!- 數(shù)據(jù)庫的密碼->vproperty n ame="password"><value>123</value></property></bea n><!- 把數(shù)據(jù)源注入給Session工廠-><bea nid="sessi onF actory"class="org.spri ngframewo
5、rk.orm.hiber nate3.LocalSessi onF actoryBea n">vproperty n ame="dataSource"><ref bea n="dataSource"/></property><!-配置映射文件->vpropertyn ame="mapp in gResources"><list><value>com/al on ely/vo/User.hbm.xml</value></list&g
6、t;</property>v/bea n><!-把 Session 工廠注入給 hibernateTemplate-><!- 解釋一下 hibernateTemplate : hibernateTemplate提供了很多方便的方法,在執(zhí)行時(shí)自動(dòng)建立HibernateCallback 對(duì)象,例如:load()、get()、save、delete()等方法。-><bea nid="hiber nateTemplate"class="org.spri ngframework.orm.hiber nate3.Hiber na
7、teTemplate"<con structor-arg><ref local="sessi onF actory"/>v/c on structor-arg>v/bea n><!- 把DAO 注入給 Session 工廠->vbea nid="userDAO" class="com.alo nely.dao.UserDAO">vpropertyn ame="sessi onF actory"><ref bea n="sessi
8、onF actory"/></property></bea n><!-把 Service 注入給 DAO -><bea nid="userService"class="com.al on ely.service.UserService"><property n ame="userDAO"><ref local="userDAO" /></property></bea n><!-把 Action 注入
9、給 Service -><bea nn ame="/user"class="com.al on ely.struts.act ion. UserAct ion"><property n ame="userService"><ref bea n="userService"/></property></bea n></beans>以上Spring 的applicationContext.xml文件我是用的 SSH架構(gòu),如果您用 Spring的
10、MVC架構(gòu),其原理也是一樣的。對(duì)里面的一些概念還不熟悉,一個(gè)字"暈"啊,在網(wǎng)上搜搜資料,解釋一下applicationcontext.xml我們以項(xiàng)目中的訂單Order為例簡要說明一下Spring 與Hibernate的集成。關(guān)于如何使用Hibernate 來對(duì)數(shù)據(jù)庫表做映射,我們?cè)谇懊嬉呀?jīng)做了介紹,這里我們關(guān)心的是如何 配置Spring,使它能管理Hibernate。其實(shí),只要在Spring的配置文件(我們這里是 ap plicationContext.xml)中配置一個(gè)叫做 sessionFactory的 bean , Spring 就可以和 Hibernate聯(lián)系起來
11、了。<bea nid="sessi onF actory"class="org.spri ngframework.orm.hiber nate.Local SessionFactoryBean">vpropertyn ame="c on figLocati on"><value>com/asce nt/bea n/hiber nate.cfg.xml</value></property></bea n>這樣,Spring和Hibernate 的第一步整合就完成了,現(xiàn)在到
12、了關(guān)鍵的地方如何讓Spring和Hibernate雙劍合璧來實(shí)現(xiàn)業(yè)務(wù)邏輯?還是在applicationContext.xml文件中先做一個(gè)配置。<bea nid="tra nsact ionMan ager"class="org.spri ngframework.orm.hibernate. HibernateTransactionManager"><propertyn ame="sessi onF actory"><ref local="sessi onF actory"/>&
13、lt;/property></bea n>在上面你大概可以感覺到Spring給我們帶來的好處了,Spring的IoC模式可以統(tǒng)一管理各層,而又使各層松散耦合在一起,使各層之間實(shí)現(xiàn)最大的解耦性,這也是Web架構(gòu)一向的追求。但是,Spring 帶來的好處還不止于此,除了IoC還有AOP, Spring 可以運(yùn)用AOP來實(shí)現(xiàn)很多功能,最常用的就是事務(wù)處理。這里我們用了業(yè)務(wù)服務(wù)(bus in essservice )層和數(shù)據(jù)存取對(duì)象(Data Access Object )層,在業(yè)務(wù)服務(wù)層我們?cè)黾邮聞?wù)處理,數(shù) 據(jù)存取對(duì)象層負(fù)責(zé)數(shù)據(jù)讀寫。首先,組裝配置好 Service Bea ns
14、。<bea nid="orderService"class="org.spri ngframework.tra nsactio n.i nterceptor. TransactionProxyFactoryBean"><propertyn ame="tra nsacti onMan ager"><ref local="tra nsact ionMan ager"/></property><propertyn ame="target">&
15、lt;ref local="orderTarget"/></property><propertyn ame="tra nsacti on Attributes"><props><propkey="fi nd*">PROPAGATION_REQUIRED,readO nl y,-OrderException</prop><propkey="save*">PROPAGATION_REQUIRED,-OrderExceptio n,-Order
16、Mi nimumAmoun tExcepti on</prop></props></property></bea n>之后,需要把業(yè)務(wù)服務(wù)對(duì)象和數(shù)據(jù)存取對(duì)象也組裝起來,并把這些對(duì)象配到一個(gè)事務(wù)管理器(transactionmanager )里。在Spring中的配置信息。<bea n id="orderTarget"class="com.asce nt.bus in ess.service.OrderServicelmpl"><property n ame="orderDAO&q
17、uot;><ref local="orderDAO"/></property></bea n><bea n id="orderDAO"class="com.asce nt.dao.hiber nate.OrderHiber nateDAO"><propertyn ame="sessi onF actory"><ref local="sessi onF actory"/></property></bea
18、 n>圖6-10是項(xiàng)目對(duì)象搭建的一個(gè)提綱。從中可以看出,每個(gè)對(duì)象都聯(lián)系著Spring,并且能通過Spring注入到其他對(duì)象。把它與Spring的配置文件比較,觀察他們之間的關(guān)系。 Spring就是這樣基于配置文件,將各個(gè)Bean搭建在一起的。這里我們使用一個(gè) TransactionProxyFactoryBean,它定義了一個(gè) setTransactionMan ager(),這個(gè)對(duì)象很有用,它能很方便地處理你申明的Service Object中的事物,你可以通過transactionAttributes屬性來定義怎樣處理。TransactionProxyFactoryBean還有個(gè) setter ,這會(huì)被業(yè)務(wù)服務(wù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電力工程與醫(yī)療設(shè)備信息化的結(jié)合研究
- 現(xiàn)代職場禮儀與團(tuán)隊(duì)協(xié)作的關(guān)聯(lián)性研究
- 現(xiàn)代辦公室中的數(shù)字化職業(yè)技能提升策略
- 現(xiàn)代企業(yè)日常決策支持與風(fēng)險(xiǎn)控制
- 2025-2030年地下水文地質(zhì)參數(shù)測定儀企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 2025-2030年手術(shù)室智能燈光控制系統(tǒng)行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025-2030年數(shù)控板料折彎機(jī)智能控制行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 生產(chǎn)部員工職業(yè)技能提升與激勵(lì)機(jī)制設(shè)計(jì)
- 2025-2030年戶外時(shí)尚搭配指南企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- 2025-2030年戶外燒烤凳企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報(bào)告
- (正式版)HGT 6313-2024 化工園區(qū)智慧化評(píng)價(jià)導(dǎo)則
- 單店爆破促銷活動(dòng)模式精編文檔
- YS/T 34.1-2011高純砷化學(xué)分析方法電感耦合等離子體質(zhì)譜法(ICP-MS)測定高純砷中雜質(zhì)含量
- LY/T 2016-2012陸生野生動(dòng)物廊道設(shè)計(jì)技術(shù)規(guī)程
- 松下panasonic-視覺說明書pv200培訓(xùn)
- 單縣煙草專賣局QC課題多維度降低行政處罰文書出錯(cuò)率
- 毫針刺法(全)教學(xué)課件
- 金風(fēng)科技-風(fēng)電產(chǎn)業(yè)集團(tuán)-供應(yīng)商現(xiàn)場作業(yè)基礎(chǔ)安全考試附答案
- 公共關(guān)系學(xué)完整教學(xué)課件
- 人工智能機(jī)器人科學(xué)小報(bào)手抄報(bào)簡報(bào)
- 三年級(jí)下冊(cè)美術(shù)課件-第1課 燈彩輝映|浙美版 (共19張PPT)
評(píng)論
0/150
提交評(píng)論