首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

宣言事务2种方式

2012-10-29 
声明事务2种方式spring声明式事务管理的两种方式传统的: 1 bean iddataSource destroy-methodclose

声明事务2种方式
spring声明式事务管理的两种方式


传统的:

1 <bean id="dataSource" destroy-method="close">

2         <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />

3         <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:dev" />

4         <property name="username" value="kaktos" />

5         <property name="password" value="kaktos" />

6     </bean>

7

8     <bean id="txManager"

9         ref="dataSource" />

11     </bean>

12

13     <bean id="businessBean"

14         ref="txManager" />

16         <property name="target" ref="businessBeanTarget" />

17         <property name="transactionAttributes">

18             <props>               

19                 <prop key="*">PROPAGATION_REQUIRED</prop>

20             </props>

21         </property>

22     </bean>

23    

24     <bean id="businessBeanTarget" ref="dataSource" />

26     </bean>

这样做的弊端就是不得不为每个需要事务的bean做一次声明,如果所有的bean都基本上有一致的配置,这样就太繁琐啦。

下面是第二种方式:

1 <beans>

2     <bean id="dataSource" destroy-method="close">

3         <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />

4         <property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:dev" />

5         <property name="username" value="kaktos" />

6         <property name="password" value="kaktos" />

7     </bean>

8

9     <bean id="txManager"

10         ref="dataSource" />

12     </bean>

13

14     <bean id="matchAllWithPropReq"

15         value="PROPAGATION_REQUIRED" />

17     </bean>

18    

19     <bean id="matchAllTxInterceptor" ref="txManager" />

21         <property name="transactionAttributeSource" ref="matchAllWithPropReq" />

22     </bean>

23

24     <bean id="autoProxyCreator"

25         />

29             </list>

30         </property>

31         <property name="beanNames">

32             <list>

33                 <idref local="businessBean" />

34             </list>

35         </property>

36     </bean>

37    

38     <!--  my beans  -->

39     <bean id="businessBean" ref="dataSource" />

41     </bean>

42 </beans>

热点排行