1、在做事物控制前,先检查所用的包是否已经加载进来
aspectjrt-1.5.4.jar aspectjweaver-1.6.2.jar cglib-nodep-2.1_3-osgi.jar
2、在Spring配置数据源的配置文件中加入如下配置
<!-- 数据库连接配置 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"></property>
<property name="username" value="QHUSER"></property>
<property name="password" value="oracle"></property>
<property name="initialSize" value="5" />
<property name="maxActive" value="20" />
<property name="maxIdle" value="30" />
<property name="maxWait" value="1000" />
<property name="poolPreparedStatements" value="false" />
<!--property name="maxOpenPreparedStatements" value="3" /-->
<property name="testOnBorrow" value="true"/>
<property name="validationQuery" value="select * from dual"/>
<property name="defaultAutoCommit" value="true" />
</bean>
<!--配置事务管理器-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!--配置哪些方法,什么情况下需要回滚-->
<tx:advice id="serviceAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!--当代理的service层中的方法抛出异常的时候才回滚,必须加rollback-for参数-->
<tx:method name="add*" propagation="REQUIRED" rollback-for="Throwable"/>
<tx:method name="del*" propagation="REQUIRED" rollback-for="Throwable"/>
<tx:method name="update*" propagation="REQUIRED" rollback-for="Throwable"/>
<tx:method name="create*" propagation="REQUIRED" rollback-for="Throwable"/>
<!--除了上面标识的方法,其他方法全是只读方法-->
<tx:method name="*" read-only="true"/>
</tx:attributes>
</tx:advice>
<!-- 配置系统中哪些方法中启用事物控制 -->
<aop:config>
<aop:pointcut id="servicePointcut" expression="execution(* com.vip.core.service..*.*(..))"/>
<aop:advisor pointcut-ref="servicePointcut" advice-ref="serviceAdvice"/>
</aop:config>
expression="execution(* *..*Service.*(..))"
第一个* 表示任意返回值类型
第二个* 表示以任意名字开头的package. 如 com.xx.
第三个* 表示以任意名字开头的class的类名 如TestService
第四个* 表示 通配 *service下的任意class
最后二个.. 表示通配 方法可以有0个或多个参数
分享到:
相关推荐
Struts+Spring+Ibatis整合框架搭建配置文档
很好的spring+ibatis事务的配置文档.
Spring+ibatis框架struts2的配置以struts.xml为主要配置文件,该文件配置了URL和java类之间的对应关系,struts支持多个配置文件并存,所以某个模块的配置文件可以新建一个struts-模块名.xml,并在此文件中进行配置。
spring ibatis 配置spring ibatis 配置spring ibatis 配置spring ibatis 配置
struts2 spring ibatis dwr整合配置 自己整合的,很好用
struts+spring+ibatis框架集合教程。里面有ssi的源码和三个搭建文档还有个ibatis的中文帮助文档。
spring struts ibatis 开发框架,简单易用。
spring ibatis整合所需jar包
SPRING与IBATIS整合采用保留IBATIS事务,可自己控制回滚!
struts2+spring+Ibatis框架包
maven spring struts ibatis oracle框架整合,
struts+spring+ibatis框架集成.pdf
SPRING与IBATIS整合采用保留IBATIS事务,可自己控制回滚!
struts+spring+ibatis框架,自己配的,和大家分享下,数据库是sqlserver2008,下载导入eclipse中可以运行
Spring与iBATIS的集成 iBATIS似乎已远离众说纷纭的OR框架之列,通常人们对非常流行的Hibernate情有独钟。但正如Spring A Developer's Notebook作者Bruce Tate 和Justin Gehtland所说的那样,与其他的OR框架相比...
简单的 struts2 spring ibatis 整合架构
主要是我自己配置的SSI,保留在csdn上,以后自己不会配时,再下载去看看.
成熟的SSI框架,mvc模式开发,该包中有成行的框架
struts2 spring ibatis 项目整合源码