任何人都知道为什么添加注释驱动的声明导致找不到的aopalliance类。我没有使用Spring默认值明确定义编织。
感谢任何帮助
答案 0 :(得分:3)
Spring有两种创建代理以支持事务的模式。默认模式是创建JDK代理,但只有在注入接口时才有效。如果你注入类,将使用CGLib代理,它们是使用AspectJ创建的(因此在类路径上需要aopalliance.jar和spring-aspects.jar)。
我的建议:通过界面参考您的服务和道具:
private MyDaoInterface dao;
public void setDao(MyDaoInterface dao){
}
并且Spring将自动选择基于代理的方法。
请参阅:
答案 1 :(得分:2)
我不确定真正的问题是什么(如果它是关于真正的原因 1 ,提供完整的堆栈跟踪可能会有所帮助)但事实是你目前缺少{{1你的类路径(以前包含在this thread或this blog post中提到的Spring jar中)。
1 根据提供的详细信息,我的猜测是Spring正在加载aopalliance.jar
,这是TransactionInterceptor
的一个实现,并且正在寻找依赖关系,这是丢失。