随笔 - 23  文章 - 15  trackbacks - 0
<2007年8月>
2930311234
567891011
12131415161718
19202122232425
2627282930311
2345678



留言簿(3)

随笔分类(19)

搜索

  •  

最新随笔

最新评论

阅读排行榜

评论排行榜

Sping的声明式事务处理:

Spring的事务处理有两种:一种是通过程序来控制,另一种是通过配置来控制。

其各有自己的优点,通过程序控制的灵活性好,通过配置控制的通用性强!

不过用配置的方式管理起来很麻烦

 

J2EE的开发,特别是牵涉到ssh的开发,里面有大量XML的参数配置,配置起来真的很麻烦(等有时间了,好好整理一下)

 

关于事务处理的一个特点就是,要么全部成功,要么全部失败!

由于现实中存在这样的业务逻辑,所以就必需有事务处理。经典的案例就是银行的转账问题

AB  如果B账户不存在,如果没有事务处理,则A账户也会执行减钱的动作。有了事务处理就会解决这个问题。

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
 3 
 4 <beans>
 5 
 6 
 7     <bean id="dataSource"
 8         class="org.apache.commons.dbcp.BasicDataSource">
 9         <property name="driverClassName">
10             <value>com.mysql.jdbc.Driver</value>
11         </property>
12         <property name="url">
13             <value>jdbc:mysql://localhost:3306/test</value>
14         </property>
15         <property name="username">
16             <value>root</value>
17         </property>
18         <property name="password">
19             <value>jiadong</value>
20         </property>
21     </bean>
22     <bean id="sessionFactory"
23         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
24         <property name="dataSource">
25             <ref bean="dataSource" />
26         </property>
27         <property name="hibernateProperties">
28             <props>
29                 <prop key="hibernate.dialect">
30                     org.hibernate.dialect.MySQLDialect
31                 </prop>
32                 <prop key="hibernate.show_sql">true</prop>
33             </props>
34         </property>
35         <property name="mappingResources">
36             <list>
37                 <value>org/jia/Account.hbm.xml</value>
38             </list>
39         </property>
40     </bean>
41     <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
42         <property name="sessionFactory" ref="sessionFactory"></property>
43     </bean>
44     <bean id="accountDAO" class="org.jia.AccountDAO">
45         <property name="sessionFactory" ref="sessionFactory"></property>
46     </bean>
47     <bean id="accountService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
48         <property name="transactionManager" ref="transactionManager"></property>
49         <property name="target">
50             <bean class="org.jia.AccountService">
51                 <property name="accountDAO" ref="accountDAO"></property>
52             </bean>
53         </property>
54         <property name="transactionAttributes">
55             <props>
56                 <prop key="transfer">PROPAGATION_REQUIRED</prop>
57             </props>
58         </property>
59     </bean>
60 </beans>
61 
posted on 2007-08-31 11:24 jiadong 阅读(826) 评论(1)  编辑  收藏 所属分类: SPRING

FeedBack:
# re: Sping的声明式事务处理 2007-08-31 11:26 jiadong

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: