- 浏览: 303027 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zhou363667565:
看到你的这个配置 有个地方有点问题:
< aop:po ...
spring ibatis 事务配置 -
wo17796452:
[b][/b][i][/i][u][/u]引用[*][img] ...
crowd Jira confluence 集成 -
wo17796452:
<input type="button&quo ...
crowd Jira confluence 集成 -
benbear2008:
这些类图呢?
Spring MVC框架类图与顺序图 -
TTLtry:
谢了 最近学习spring时候 却总是登不上官方网站 很多 ...
Spring 2.5.5 api 帮助文档 chm格式 下载
Spring下由三种途径对事物进行管理:编程式事务管理、声明式事务管理和AOP事务管理。其中AOP事务管理又分AOP注解事务管理和AOP XML配置两种,这里记录下述其中的AOP XML配置管理,这也是spring最推荐的方式。
参照<spring高级程序设计>中的银行转账的例子。
1.Spring的数据源设置
- < bean id = "dataSource" class = "org.apache.commons.dbcp.BasicDataSource" destroy-method = "close" >
- < property name = "driverClassName" value = "com.mysql.jdbc.Driver" />
- < property name = "url" value = "jdbc:mysql://localhost:3306/test" />
- < property name = "username" value = "root" />
- < property name = "password" value = "123456" />
- </ bean >
2.Spring对iBATIS的支持
Spring对ibatis主要提供org.springframework.orm.ibatis.SqlMapClientFactoryBean类来进行支持
- < bean id = "sqlMapClient" class = "org.springframework.orm.ibatis.SqlMapClientFactoryBean" >
- < property name = "dataSource" ref = "dataSource" />
- < property name = "configLocation" value = "/config/sqlMapConfig.xml" />
- </ bean >
3.Spring对iBATIS DAO的支持
Spring提供org.springframework.orm.ibatis.support.SqlMapClientDaoSupport来对 iBATIS DAO进行支持,通过调用该类的getSqlMapClientTemplate()方法来获得对iBATIS的控制访问。
- < bean id = "accountDao" class = "com.hj.dao.AccountDaoImp" >
- < property name = "sqlMapClient" ref = "sqlMapClient" />
- </ bean >
- < bean id = "bankService" class = "com.hj.bankOps.DefaultBankService" >
- < property name = "accountDao" ref = "bankAccountDao" />
- </ bean >
这里DefaultBankService类主要实现BankService接口(提供服务的方法定义),其内部引用一个BankAccountDao实例来对数据库进行访问。BankAccountDao类主要继承SqlMapClientDaoSupport。
4.Spring 配置事务
- < bean id = "transactionManager" class = "org.springframework.jdbc.datasource.DataSourceTransactionManager" >
- < property name = "dataSource" ref = "dataSource" />
- </ bean >
5.AOP XML配置事务管理
1).配置事务通知
- < tx:advice id = "transactionManagerAdivice" transaction-manager = "transactionManager" >
- < tx:attributes >
- < tx:method name = "*"
- isolation = "READ_COMMITTED"
- propagation = "REQUIRED"
- rollback-for = "java.lang.RuntionException" />
- </ tx:attributes >
- </ tx:advice >
2).配置切入点和方面
- < aop:config >
- < aop:pointcut expression = "execution(* com.hj.bankOps.DefaultBankService.*(..))" id = "bankServicePc" />
- < aop:advisor advice-ref = "transactionManagerAdivice" pointcut-ref = "bankServicePc" />
- </ aop:config >
上述execution(* com.hj.bankOps.DefaultBankService.*(..))表达式表示切入点为该类中的任何方法。所以当 DefaultBankService类中方法调用时就会进行事务管理,并且当抛出RuntimeException时,自动进行回滚操作。
6.遇到的问题
在<Spring高级程序设计>一书上,对AOP XML事务配置时,其通知部分并没有设置具体属性(缺少 rollback-for="java.lang.RuntionException")
- < tx:attributes >
- < tx:method name = "*"
- isolation = "READ_COMMITTED"
- propagation = "REQUIRED"
- />
- </ tx:attributes >
这样在DefaultBankService方法调用中如果有异常抛出,事务并不进行相应回滚操作。
评论
< aop:pointcut expression = "execution(* com.hj.bankOps.DefaultBankService.*(..))" id = "bankServicePc" />
如果直接用你上面的配置会报不能匹配类型名称。
Caused by: java.lang.IllegalArgumentException: warning no match for this type name: com.huawei.ngbss.business.service [Xlint:invalidAbsoluteTypeName]
需要加一个”.*“才可以。
因为DefaultBankService包后面.*是类名还要指定方法名需要在加一个”.*“ ,其中
"(..)"是方法参数列表..
正确的应该是:
com.hj.bankOps.DefaultBankService.*.*(..))"
发表评论
-
入门 21 - Controller的单元测试
2011-03-14 08:09 1086现在假设您要设 ... -
Spring MVC框架类图与顺序图
2011-03-14 08:08 4894藉由了解Spring的框架组成,我们可以了解框架之中的类与 ... -
Spring入门19 - ModelAndView类别
2011-03-14 08:07 1312入门 19 - ModelAndView类别 ... -
DispatcherServlet定义档
2011-03-14 08:07 843DispatcherServlet预设使用servlet名 ... -
入门 17 - 第一个Spring MVC Web程序
2011-03-14 08:06 1077进行这个程序之前,请您先完成入门 04 - 第一个Spri ... -
入门 16 - BeanFactoryPostProcessor接口
2011-03-14 08:05 979撰写Bean定义档通常使用XML来撰写,XML阶层式的组织 ... -
入门 15 - Aware相关接口
2011-03-14 08:05 958Spring中提供一些Aware相关接口,像是BeanFa ... -
入门 14 - 资源文件的取得
2011-03-14 08:04 854首先来看看ApplicationContext接口的实作 ... -
入门 13 - MessageResource接口
2011-03-14 08:03 1083ApplicationContext继承了org.spri ... -
入门 12 - ApplicationContext接口
2011-03-14 08:03 877在Spring中,BeanFactory提供的是个比较API层 ... -
入门 11 - DataSource注入
2011-03-14 08:02 961对于不同的数据库存取需求,我们使用JDBC来解决这个 ... -
入门 10 - 集合对象注入
2011-03-14 08:01 777对于像数组、java.util.List、java. ... -
入门 09 - 属性参考与自动绑定
2011-03-14 08:00 825在定义Bean时,除了直接指定值给属性值之外,还可以直接参 ... -
入门 08 - 不使用XML定义档
2011-03-14 07:59 806XML档案的阶层格式非常适用于于组态设定,也因此几 ... -
入门 07 - Bean生命周期
2011-03-14 07:59 753在Spring中,从BeanFactory取得的实 ... -
入门 06 - Bean定义档进阶读取
2011-03-14 07:58 842BeanFactory可以接受InputStrea ... -
Constructor注入
2011-03-14 07:57 1017Spring鼓励的是setter injection,但也 ... -
第一个Spring程序
2011-03-14 07:57 843首先我们要先取得Sprin ... -
入门 03 - 依赖注入DI
2011-03-14 07:56 821IoC模式基本上是一个高层的概念,在Martin Fow ... -
控制反转IoC
2011-03-14 07:55 801IoC全名Inversion of Control,如果 ...
相关推荐
很好的spring+ibatis事务的配置文档.
spring ibatis 配置spring ibatis 配置spring ibatis 配置spring ibatis 配置
SPRING与IBATIS整合采用保留IBATIS事务,可自己控制回滚!
SPRING与IBATIS整合采用保留IBATIS事务,可自己控制回滚!
自己配置的springmvc+ibatis框架,自己找齐了包,不容易啊,所以上来跟大家分享一下,spring自动注入包,事务包,ibatis包,数据库连接包,都齐全的,仅局限于springmvc+ibatis,这些包不多,不少,刚够
NULL 博文链接:https://wilr.iteye.com/blog/1190524
这是一个servlet + spring + ibatis 的完整例子,里面包含了spring的事务管理以及所有的jar包,下载下来后直接改下数据库配置就可以运行!从界面到action,业务层,dao层有现成的代码!
系统采用spring2.5 + ibatis2.3.4,采用注解方式配置,非xml配置方式。包括分页排序查询、新增、修改、删除、登陆验证功能,数据库采用oracle。
这个Project是关于ibatis 和 spring 框架整合的Demo。 需要向大家说明一下几个需要注意的地方: ...2.ibatis和spring的整合主要是spring的配置文件需要配置ibatis的相关配置,如:数据库连接及事务管理等。
最流行技术Struts2.1 +Spring 2.5.1+ibatis2.3整合开发而成,这与我以前发布的版本中最大特色是整合了Spring2.5.1中的注解功能和半自动化工具ibatis技术,这是本示例的两大特色,简化了配置文件的烦锁,希望能给更多喜欢...
耗时3天,对Struts2+Ibatis+...包括Spring3.0的事务配置 OSCache二级缓存的配置 log4j实现输出Sql到控制台 JfreeChart与Struts2,Spring3.0的整合 对一个简单的表实现查询,批量删除,添加,删除 可导入eclipse直接运行
-- 配置那个类那个方法用到事务处理 --> *" read-only="true"/> *" propagation="REQUIRED"/> *" propagation="REQUIRED"/> *" propagation="REQUIRED"/> *" propagation="REQUIRED"/> ...
【第八章】 对ORM的支持 之 8.3 集成iBATIS ——跟我学spring3 【第八章】 对ORM的支持 之 8.4 集成JPA ——跟我学spring3 【第九章】 Spring的事务 之 9.1 数据库事务概述 ——跟我学spring3 【第九章】 Spring的...
(8) spring-orm.jar 这个jar文件包含Spring对DAO特性集进行了扩展,使其支持 iBATIS、JDO、OJB、TopLink,因为Hibernate已经独立成包了,现在不包含在这个包里了。这个jar文件里大部分的类都要依赖 spring-dao.jar...
2.5.3 配置iBATIS(预览) 37 2.5.4 构建应用程序 38 2.5.5 运行应用程序 39 2.6 iBATIS未来的发展方向 40 2.6.1 Apache软件基金会 40 2.6.2 更简单、更小且依赖性更少 40 2.6.3 更多的扩展点和插件 41 2.6.4 支持更多...
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean" p:dataSource-ref="dataSourceProxy"> <value>classpath:SqlMapConfig.xml</value> </property> ...
2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. JPA 2.4.3. 异步的JMS 2.4.4. JDBC 2.5. Web层 2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言...
Spring 2.0的'spring-jdo.jar', 'spring-jpa.jar', 'spring-hibernate3.jar', 'spring-toplink.jar' 和 'spring-ibatis.jar' 被合并到Spring 2.5大粒度的'spring-orm.jar'中。 Spring 2.5的 'spring-test.jar' 取代...
spring-beans.jar(必须):这 个jar 文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean 以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI ...