spring2.5.6+ibatis2.3.4实现事务配置方法

在applicationContext-resources.xml中配置,service方法中就有了事务的属性


xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
                     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
                     http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd 
                     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">


classpath:jdbc.properties




class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">

${jdbc.driverClassName}


${jdbc.url}



${jdbc.username}



${jdbc.password}



3



10



5



0





3





0





60





30





true





false











 






















 

1.spring在进行声明时事务管理时,通过捕获Service层方法的DataAccessException来提交和回滚事务的,而Service层方法的DataAccessException又是来自调用DAO层方法所产生的异常. 

2.我们一般在写DAO层代码时,如果继承JdbcDaoSupport 类,并使用此类所实现的JdbcTemplate来执行数据库操作,此类会自动把低层的SQLException转化成DataAccessException以及DataAccessException 
的子类. 

3.一般在Service层我们可以自己捕获DAO方法所产成的DataAccessException,然后再抛出一个业务方法有意义的异常(ps:此异常最好继承DataAccessException),然后在Web层捕获,这样我们就可以手动编码的灵活实现通过业务方法执行的成功和失败来向用户转发不同的页面


实例参考:http://blog.csdn.net/xymyeah/article/details/1766769

你可能感兴趣的:(架构设计,ibatis,spring,事务,aop)