關於spring與struts的整合中,如何載入spring容器:
1)直接在action中獲取:
userbo =(userbo)contxt.getbean("userbo");
而且最重要的是spring是乙個容器,多個action會產生出來多個spring容器,多個spring容器如
何去管理struts和hibernate,struts和hibernate又如何知道它們會被哪乙個spring容器所管
理,這樣勢必會造成管理的混亂。對於web專案工程來說,只需乙個spring容器就能管理struts和
hibernate了。因此,直接在action中獲取spring容器是不可取的
2)通過struts-config.xml來使web容器載入spring ----使用spring容器外掛程式的方式
----使用控制器載入spring,告知struts將要被spring所管理
value="org.springframework.web.struts.delegatingrequestprocess
or"/>
classname="org.springframework.web.struts.contextloaderplugin">
--外掛程式方式
3)使用web.xml來使web容器載入spring
a、 ----在web容器中告知spring容器將被載入進來並進行管理
springcontextservlet
----乙個專門產生spring容器的servlet
org.springframework.web.context.contextloaderservlet
1 ----web容器一被載入,就將載入spring容器
contextconfiglocation
b、----使用***載入spring
org.springframework.web.context.contextloaderlistener
前提:容器支援servletapi2.3
spring事務管理:
1.spring 框架中,涉及到事務管理的 api 大約有100個左右,其中最重要的有三個:
transactiondefinition(給定的事務規則 )
platformtransactionmanag
er(按照……來執行提交或者回滾操作 )
transactionstatus(表示乙個執行著的事務的狀態)
2.platformtransactionmanag
er的實現類:
datasourcetransactionmanager:適用於使用jdbc和ibatis進行資料持久化操作的情況。
hibernatetransactionmana
ger:適用於使用hibernate進行資料持久化操作的情況。
jpatransactionmanager:適用於使用jpa進行資料持久化操作的情況。
另外還有jtatransactionmanager、jdotransactionmanager、jmstransactionmanager等等
宣告事務管理例項:
----產生transactionmanager
class="org.springframework.orm.hibernate3.hibernatetransactionmana
ger">
----注入sessionfactory
----引用事務管理器
class="org.springframework.transaction.interceptor.transactionproxyfactorybean"
abstract="true">
----注入transactionmanager
propagation_required
----將以get開頭的方法加入到事務中
propagation_required
----將以execute開頭的方法加入到事務中
----目標**物件,繼承引用事務管理器
----注入目標物件
事務級別:
SSH整合,spring事務管理不回滾問題
spring的事務回滾,當且僅當捕獲到runtimeexception型別異常時,才會回滾,對普通exception異常無效。以下是我service層捕獲異常,並丟擲runtimeexception異常到action層 override public void lock string id thro...
Spring事務管理
spring是ssh中的管理員,負責管理其它框架,協調各個部分的工作。今天一起學習一下spring的事務管理。spring的事務管理分為宣告式跟程式設計式。宣告式就是在spring的配置檔案中進行相關配置 程式設計式就是用註解的方式寫到 裡。下面先說宣告式 spring配置檔案中關於事務配置總是由三...
spring事務管理
一 xml配置事務 二 註解的方式配置事務 bean id txmanaager class org.springframework.orm.hibernate3.hibernatetransactionmanager property name sessionfactory ref session...