Service注入Service等被加了事务的业务类,抛出com.sun.proxy.$Proxy..错误。

记: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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,168评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,993评论 6 342
  • 什么是Spring Spring是一个开源的Java EE开发框架。Spring框架的核心功能可以应用在任何Jav...
    jemmm阅读 16,585评论 1 133
  • 立夏与夏 01 立夏是个弃婴。 即使是在那些艰苦的年月,也极少有丢弃婴儿的事情发生——除非是先天残疾。可是立夏是一...
    宪之阅读 787评论 0 1
  • 今日计划完成情况 今天开始做week1的大作业了,发现远远低估了作业的难度,今天阅读了接近50%的代码。 明日学习...
    爱跑步的coder阅读 106评论 0 1