TransactionProxyFactoryBean代理事务
来源:互联网 发布:竞猜源码 编辑:程序博客网 时间:2024/05/16 11:52
- (转载别人的用于学习和记录)
- <?xml version="1.0" encoding="GBK"?>
- <!-- 指定Spring配置文件的DTD信息 -->
- <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN"
- "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
- <!-- Spring配置文件的根元素 -->
- <beans>
- <!-- 定义数据源Bean,使用C3P0数据源实现 -->
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
- destroy-method="close">
- <!-- 指定连接数据库的驱动 -->
- <property name="driverClass" value="com.mysql.jdbc.Driver"/>
- <!-- 指定连接数据库的URL -->
- <property name="jdbcUrl" value="jdbc:mysql://localhost/javaee"/>
- <!-- 指定连接数据库的用户名 -->
- <property name="user" value="root"/>
- <!-- 指定连接数据库的密码 -->
- <property name="password" value="32147"/>
- <!-- 指定连接数据库连接池的最大连接数 -->
- <property name="maxPoolSize" value="40"/>
- <!-- 指定连接数据库连接池的最小连接数 -->
- <property name="minPoolSize" value="1"/>
- <!-- 指定连接数据库连接池的初始化连接数 -->
- <property name="initialPoolSize" value="1"/>
- <!-- 指定连接数据库连接池的连接的最大空闲时间 -->
- <property name="maxIdleTime" value="20"/>
- </bean>
- <!-- 配置JDBC数据源的局部事务管理器,使用DataSourceTransactionManager 类 -->
- <!-- 该类实现PlatformTransactionManager接口,是针对采用数据源连接的特定实现-->
- <bean id="transactionManager"
- class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
- <!-- 配置DataSourceTransactionManager时需要依注入DataSource的引用 -->
- <property name="dataSource" ref="dataSource"/>
- </bean>
- <!-- 配置一个业务逻辑Bean -->
- <bean id="test" class="lee.TestImpl">
- <property name="ds" ref="dataSource"/>
- </bean>
- <!-- 为业务逻辑Bean配置事务代理 -->
- <bean id="testTrans" class=
- "org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
- <!-- 为事务代理工厂Bean注入事务管理器 -->
- <property name="transactionManager" ref="transactionManager"/>
- <property name="target" ref="test"/>
- <!-- 指定事务属性 -->
- <property name="transactionAttributes">
- <props>
- <prop key="*">PROPAGATION_REQUIRED</prop>
- </props>
- </property>
- </bean>
- </beans>
接口:
- public interface Test
- {
- public void insert(String u);
- }
接口实现:
- public class TestImpl implements Test
- {
- private DataSource ds;
- public void setDs(DataSource ds)
- {
- this.ds = ds;
- }
- public void insert(String u)
- {
- JdbcTemplate jt = new JdbcTemplate(ds);
- jt.execute("insert into mytable values('" + u + "')");
- //两次插入相同的数据,将违反主键约束
- jt.execute("insert into mytable values('" + u + "')");
- //如果增加事务控制,我们发现第一条记录也插不进去。
- //如果没有事务控制,则第一条记录可以被插入
- }
- }
测试:
- public class MainTest
- {
- public static void main(String[] args)
- {
- //创建Spring容器
- ApplicationContext ctx = new
- ClassPathXmlApplicationContext("bean.xml");
- //获取事务代理Bean
- Test t = (Test)ctx.getBean("testTrans");
- //执行插入操作
- t.insert("bbb");
- }
- }
Spring 2.X事务配置策略 | 声明式事务
- 2009-09-18 19:58
- 浏览 2225
- 评论(1)
- 相关推荐
0 0
- TransactionProxyFactoryBean代理事务
- TransactionProxyFactoryBean代理事务
- 使用TransactionProxyFactoryBean代理事务
- TransactionProxyFactoryBean代理事务
- 利用TransactionProxyFactoryBean生成事务代理
- TransactionProxyFactoryBean代理事务-开放式事物管理
- Spring事务管理---利用TransactionProxyFactoryBean生成事务代理
- Spring1.x使用TransactionProxyFactoryBean创建事务代理
- Spring事务——使用TransactionProxyFactoryBean创建事务代理
- Spring事务管理----声明式(1)利用TransactionProxyFactoryBean生成事务代理
- Spring事务管理----声明式:利用TransactionProxyFactoryBean生成事务代理
- Spring事务管理----声明式(1)利用TransactionProxyFactoryBean生成事务代理
- Spring事务管理----声明式(1)利用TransactionProxyFactoryBean生成事务代理
- Spring事务管理----声明式:利用TransactionProxyFactoryBean生成事务代理
- Spring事务管理----声明式:利用TransactionProxyFactoryBean生成事务代理
- Spring事务管理----声明式(1)利用TransactionProxyFactoryBean生成事务代理
- Spring事务管理----声明式 利用TransactionProxyFactoryBean生成事务代理
- Spring事务管理----声明式:利用TransactionProxyFactoryBean生成事务代理
- 颜色列表 delphi中使用颜色
- logback日志垂直打印
- ContentProvider深度探索
- 解决xcode6中图片在模拟器中显示但真机中不显示问题
- 正则表达式判断并取得string里面的URL地址
- TransactionProxyFactoryBean代理事务
- 最新版富文本编辑器UEditor操作教程
- Android屏幕适配全攻略(最权威的官方适配指导)
- android 阻断EditText自动获取焦点
- Ubuntu 安装mysql和简单操作
- 深入理解const char*p,char const*p,char *const p,const char **p,char const**p,char *const*p,char**const p
- ORA-08186: invalid timestamp specified
- TOMCAT内存溢出解决方案
- ajax servlet 传值问题,新手,已被搞得焦头烂额。。。。。
评论