起因
公司开发项目,负责登录模块和其他功能的同事一直没有整合代码,才导致遇见了这么一个神奇的BUG,非常让我抓狂,以后一定要上传SVN,提起整合代码才会尽早发现这种BUG.
报错
直接报错提示说无法加载数据源的bean,导致启动直接报错,后来经过对shiro的查找发现是shiro的aop和多数据源的aop发生冲突,于是开始查找资料,网上各种说法
解决
简单粗暴直接上解决方法
如果你的spring版本低于2.x
需要添加配置文件
spring:
aop:
autotrue: true
proxy-target-class: true
这是配置文件需要添加的东西,当然如果你的版本高于则可以忽略
//这是shiro的一个配置类DefaultAdvisorAutoProxyCreator强制使用cglib代理setProxyTargetClass(true)
@Bean
@DependsOn("lifecycleBeanPostProcessor")
public DefaultAdvisorAutoProxyCreator defaultAdvisorAutoProxyCreator() {
DefaultAdvisorAutoProxyCreator d = new DefaultAdvisorAutoProxyCreator();
d.setProxyTargetClass(true);
d.setUsePrefix(true);
return d;
}
完美解决