Service注入Service等被加了事务的业务类,抛出com

2016-08-17  本文已影响0人  小代码

记:AOP二次代理导致的错误。

前提:

  1. spring自己使用了自己的AOP。
  2. 集成shiro,shiro使用AOP进行注解权限控制。

shiro配置

<bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor" />
<bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">   
    <property name="securityManager" ref="securityManager" />
</bean>

想来以上代码在shiro看的不少了吧,其实这段集成在spring里是有问题的。

  1. 通常来说我们会对事物使用spring的声明式事务管理,声明式事务的原理是aop切面。
  2. 使用上面代码,又会创建一层aop代理,最终导致com.sun.proxy.$Proxy..错误。

http://jinnianshilongnian.iteye.com/blog/1901694

上一篇下一篇

猜你喜欢

热点阅读