Spring实现基于容器的事务管理
来源:互联网 发布:阳台封窗价格计算法 编辑:程序博客网 时间:2024/06/05 04:11
<!-- Spring.xml -->
<beans>
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
......
......
......
</bean>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionMaager">
<property name="dataSource">
<ref local="dataSource"/>
</troperty>
</bean>
<bean id="userDAO" class="net.xiaxin.dao.UserDAO">
<property name="dataSource">
<ref local="dataSource"/>
</property>
<property name="target">
<ref local="userDAO"/>
</property>
<!--
可以看到,在 userDAOProxy 的 “transactionAttributes” 属性中,我们定义了针对 userDAO 的事务策略,
即将所有名称以 insert 开始的方法(如UserDAO.insertUser方法)纳入事务管理范围.
如果此方法抛出异常,则 Spring 将当前事务会滚,如果方法正常结束,则提交事务.
而对所有名称以 get 开始的方法(如UserDAO.getUser方法)则以只读的事务处理机制进行处理。(
设置只读事务,可以使持久层尝试对数据操作进行优化,如对于只读事务 Hibernate 将不执行 flush
操作,而某些数据库连接池和 JDBC 驱动也对只读操作进行了特别优化。)
-->
<property name="transactionAttributes">
<props>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<!-- 配置 dataSource ,transactionManager等资源定义
这些资源都 userDAOProxy 为的 TransactionProxyFactoryBean 服务。
而 userDAOProxy 择对包含实际数据逻辑的 userDAO 进行了事务性封装。
-->
<bean id="userDAOProxy"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager"/>
</property>
</bean>
</beans>
<!-- Spring 的事务机制最为关键的两点
1.Spring 可以将任意 Java Class 纳入事务管理
2.Spring 事务管理并不依赖特定的事务资源
-->
- Spring实现基于容器的事务管理
- spring的事务管理实现
- spring事务管理的实现
- 基于Spring的轻量级Web Service事务管理框架及其实现
- 基于Spring的轻量级Web Service事务管理框架及其实现
- spring 父子容器 事务管理
- Spring基于声明式的事务管理
- Spring基于注解方式的事务管理
- 基于注解的spring事务管理@Transactionl
- 基于Spring AOP实现的声明式事务管理的知识点归纳
- Spring事务分析(2)--基于声明式的事务管理实现分析
- Spring事务分析(2)--基于声明式的事务管理实现分析
- Spring声明式事务管理(基于XML方式实现)
- Spring声明式事务管理(基于注解方式实现)
- 对Spring事务管理实现技术的分析
- spring事务管理的AOP实现原理
- spring的事务管理有几种方式实现
- spring的事务管理有几种方式实现
- 跟波利亚学解题
- Flex Builder 3.0正式版+破解补丁+系列号
- 提交按钮表单的action和onSubmit 的关系
- struts2分页代码
- live messenger (msn)登录错误81000314或80072745的解决方法
- Spring实现基于容器的事务管理
- chm 电子书 无法浏览 无法显示网页
- input type="hidden" 作用
- 服装ERP应用(10) 鞋服企业信息化历程--由点带链再入网
- 讨论SOA
- 基于DALLS18B20的8路温度检测系统软件程序
- linux下面字体设置的一些资料信息
- 一个动态生成菜单的JS.保存以备后用.
- c# 简体繁体之间的转换