<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="get*" read-only="true" propagation="NOT_SUPPORTED" />
<tx:method name="query*" read-only="true" propagation="NOT_SUPPORTED" />
<tx:method name="find*" read-only="true" propagation="NOT_SUPPORTED" />
<tx:method name="*" rollback-for="Exception" />
</tx:attributes>
</tx:advice>
<aop:config proxy-target-class="true">
<aop:pointcut id="daoMethod"
expression="execution(* com.xx.xx.dao.impl..*.*(..))"/>
<aop:pointcut id="serviceMethod"
expression="execution(* com.xx.xx.service..*.*(..))"/>
<aop:advisor pointcut-ref="daoMethod" advice-ref="txAdvice"/>
<aop:advisor pointcut-ref="serviceMethod" advice-ref="txAdvice"/>
</aop:config>
刚开始未加proxy-target-class="true", 启动时候报错:
Bean named 'xxx' must be of type [com.xx.xx.xx.Xxx], but was actually of type [$Proxy73]
注入时候报错,被注入的类(代理过的)不是应该所需的类型,由于提示的这个com.xx.xx.xx.Xxx是一个类,而不是接口(没有采用面向接口编程原则,这里有点不太好),加上proxy-target-class="true"使得spring可以使用cglib对类也可以动态代理,就OK了。
另外,对aop-config中expression表达式进行解释
(* com.xx.xx.dao.impl..*.*(..))
第一个*表示匹配所有类型的返回值
第二个*表示匹配所有的类(前面的..表示impl包及其所有子包)
第三个*表示匹配类中所有的方法
最后括号中..表示匹配方法所有参数
分享到:
相关推荐
Spring AOP配置事务方法,描述了spring的事务配置,方便开发应用和数据库的连接管理。
SpringAop配置事务管理,有两种配置方式。一种直接使用注解的方式,另外一种非注解
Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供...
Spring AOP(面向切面编程)是Java高级编程中的重要组成部分,它允许程序员以声明的方式处理关注点(例如日志、事务管理等),而不是通过硬编码。本文深入分析了Spring AOP的实现机制,让读者能够更好地理解和应用这...
* spring的事务管理需要添加到业务逻辑上(事务边界的定义),不要回到Dao上 技术提示: 在编写经下代码时: *" propagation="REQUIRED"/> *" propagation="REQUIRED"/> *" propagation="REQUIRED"/> *" ...
从http://www.cnblogs.com/sunniest/p/4543271.html 这里摘抄的源码,具体教程可以看这个文章
主要为大家详细介绍了spring aop两种配置方式,主要是注解配置AOP和xml配置aop,需要的朋友可以参考下
Spring ax/aop声明式事务配置实例
主要介绍了SpringAOP事务配置语法及实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Spring,Bean调用,事务,AOP,配置详细说明 提升开发效率
3.域名申请和配置 三.小程序发布 1.下载DEMO 2.下载开发工具并安装 3.配置参数 4.发布 完整说明 一.微信小程序申请 申请,并认证(未认证不能发布,认证需要300元,目前只支持企业认证)详细见官网说明。 ...
<?xml version="1.0" encoding="UTF-8"?><beansxmlns=...aop-2.5.xsd">
博文链接:https://log-cd.iteye.com/blog/213445
核心容器。...通过配置管理特性,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块直接将面向方面编程的功能集成到Spring框架中。它为基于Spring 应用程序的对象提供了事务管理服务。
在Spring3中配置声明式事务比早期版本显得更加简便。只需要几行配置文件+注解就可以实现面向切面的AOP事务
Spring纯注解实现方式(无XML配置) Spring整合Junit Spring分模块开发 Spring AOP原理分析 Spring AOP基于XML和注解的实现 Spring应用之Spring JDBC实现 Spring应用之JdbcDaoSupport ...
Spring通过AOP实现声明式事务管理。通常通过TransactionProxyFactoryBean设置Spring事务代理。
在Spring AOP代理过的对象上支持dubbo annotation配置事物失效问题-附件资源