applicationContextxml詳解_第1頁
applicationContextxml詳解_第2頁
applicationContextxml詳解_第3頁
applicationContextxml詳解_第4頁
applicationContextxml詳解_第5頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、想必用過Spring的程序員們都有這樣的感覺,Spring把邏輯層封裝的太完美了(個人感覺View層封裝的不是很好)。以至于有的初學(xué)者都不知道Spring配置文件的意思,就拿來用了。所以今天我給大家詳細(xì)解釋一下Spring的applicationContext.xml 文件。Ok,還是通過代碼加注釋的方式為大家演示:以下是詳解Spring 的applicationContext.xml文件代碼:<!- 頭文件,主要注意一下編碼-><?xml version="1.0" encoding="UTF-8”?><!DOCTYPE beans

2、 PUBLIC "-/SPRING/DTD BEAN/EN" "/dtd/spring-beans.dtd"><beans><!- 建立數(shù)據(jù)源-><bean id="dataSource" class="mons.dbcp.BasicDataSource"><!- 數(shù)據(jù)庫驅(qū)動,我這里使用的是Mysql數(shù)據(jù)庫-><property name="driverClassName">

3、;<value>com.mysql.jdbc.Driver</value></property><!- 數(shù)據(jù)庫地址,這里也要注意一下編碼,不然亂碼可是很郁悶的哦!-><property name="url"><value>jdbc:mysql:/localhost:3306/tie?useUnicode=true&amp;characterEncoding=utf-8</value></property><!-數(shù)據(jù)庫的用戶名-><property nam

4、e="username"><value>root</value></property><!- 數(shù)據(jù)庫的密碼-><property name="password"><value>123</value></property></bean><!- 把數(shù)據(jù)源注入給Session工廠-><bean id="sessionFactory”class="org.springframework.orm.hibernate

5、3.LocalSessionFactoryBean"><property name="dataSource"><ref bean="dataSource" /></property><!-配置映射文件-><property name="mappingResources"><list><value>com/alonely/vo/User.hbm.xml</value></list></property>

6、</bean><!-把 Session 工廠注入給 hibernateTemplate -><!-解釋一下 hibernateTemplate : hibernateTemplate提供了很多方便的方法,在執(zhí)行時自動建立HibernateCallback 對象,例如:load()、get()、save、delete()等方法。-><bean id="hibernateTemplate"class="org.springframework.orm.hibernate3.HibernateTemplate">&

7、lt;constructor-arg><ref local="sessionFactory" /></constructor-arg></bean><!- 把DAO 注入給 Session 工廠-><bean id="userDAO" class="com.alonely.dao.UserDAO"><property name="sessionFactory"><ref bean="sessionFactory'/

8、></property></bean><!-把 Service 注入給 DAO -><bean id="userService" class="com.alonely.service.UserService"><property name="userDAO"><ref local="userDAO" /></property></bean><!-把 Action 注入給 Service -><be

9、an name="/user" class="com.alonely.struts.action.UserAction"><property name="userService"><ref bean="userService" /></property></bean></beans>以上Spring 的applicationContext.xml 文件我是用的 SSH架構(gòu),如果您用 Spring 的MVC架構(gòu),其原理也是一樣的。對里面的一些概念還不熟

10、悉,一個字"暈"啊,在網(wǎng)上搜搜資料,解釋一下applicationcontext.xml我們以項目中的訂單Order為例簡要說明一下Spring 與Hibernate的集成。關(guān)于如何使用Hibernate 來對數(shù)據(jù)庫表做映射,我們在前面已經(jīng)做了介紹,這里我們關(guān)心的是如何 配置Spring,使它能管理Hibernate。其實,只要在Spring的配置文件(我們這里是 ap plicationContext.xml )中配置一個叫做 sessionFactory 的 bean , Spring 就可以和 H ibernate 聯(lián)系起來了。<bean id="se

11、ssionFactory" class="org.springframework.orm.hibernate.Loc al SessionFactoryBean"><property name="configLocation"><value>com/ascent/bean/hibernate.cfg.xml</value></property></bean>這樣,Spring和Hibernate的第一步整合就完成了,現(xiàn)在到了關(guān)鍵的地方如何讓Spring和Hibernate雙劍合璧

12、來實現(xiàn)業(yè)務(wù)邏輯?還是在applicationContext.xml文件中先做一個配置。<bean id="transactionManager" class="org.springframework.orm.hibernat e. HibernateTransactionManager"> <property name="sessionFactory"> <ref local="sessionFactory"/> </property> </bean>在上

13、面你大概可以感覺到Spring給我們帶來的好處了,Spring的IoC模式可以統(tǒng)一管理各層,而又使各層松散耦合在一起,使各層之間實現(xiàn)最大的解耦性,這也是 Web架構(gòu) 一向的追求。但是,Spring 帶來的好處還不止于此,除了 IoC還有AOP , Spring 可以運用 AOP來 實現(xiàn)很多功能,最常用的就是事務(wù)處理。這里我們用了業(yè)務(wù)服務(wù)( business service ) 層和數(shù)據(jù)存取對象(Data Access Object )層,在業(yè)務(wù)服務(wù)層我們增加事務(wù)處理,數(shù) 據(jù)存取對象層負(fù)責(zé)數(shù)據(jù)讀寫。首先,組裝配置好 Service Beans 。<bean id="orderSe

14、rvice" class="ercept or. TransactionProxyFactoryBean"><property name="transactionManager"><ref local="transactionManager"/></property><property name="target"><ref local="orderTarget&quo

15、t;/></property><props><prop key="find*">PROPAGATION_REQUIRED,readOnly,-OrderException</prop><prop key="save*">PROPAGATION_REQUIRED,-OrderException,-OrderMinimum AmountException</prop></props></property></bean>之后,需要把業(yè)務(wù)服務(wù)對象和數(shù)

16、據(jù)存取對象也組裝起來,并把這些對象配到一個事務(wù)管理器(transaction manager )里。在Spring中的配置信息。<bean id="orderTarget" class="com.ascent.business.service.OrderServiceImpl"><property name="orderDAO"><ref local="orderDAO"/></property></bean><bean id="order

17、DAO" class="com.ascent.dao.hibernate.OrderHibernateDAO"><property name="sessionFactory"><ref local="sessionFactory"/></property></bean>圖6-10是項目對象搭建的一個提綱。從中可以看出,每個對象都聯(lián)系著Spring ,并且能通過Spring注入到其他對象。把它與Spring的配置文件比較,觀察他們之間的關(guān)系。Spring就是這樣基于配置文件,將各個 Bean搭建在一起的。這里我們使用一個 TransactionProxyFactoryBean ,它定義了一個 setTransactionManager(),這個對象很有用,它能很方便地處理你申明的Service Object中的事物,TransactionProxyFactoryBean 還有個 setter ,這會被業(yè)務(wù)服務(wù)對象(orderTarget )引用,orderTarget定義了業(yè)務(wù)服務(wù)層,

溫馨提示

  • 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

提交評論