使用spring的注解式事务配置, 在action的方法中直接使用事务遇到的问题.
例如: 在testAction 中有两个方法
public class testAction extends BaseAction{
@Transactional
public String test1() throws Exception {
dosomething();
}public String test2() throws Exception {
dosomething();
}
}
struts.xml配置
<action name="test_*" class="testAction" method="{1}">
<result>test.ftl</result>
</action>
只要在上例testAction两个方法任意一个加上@Transactional注解, 用test_test1.do访问时就会报错java.lang.NoSuchMethodException: $Proxy9.test1().
访问未配置@Transactional的方法也一样, 例如test_test2.do也会一样报错java.lang.NoSuchMethodException: $Proxy9.test2().
大概知道是因为配置事务后产生代理, 但是为什么产生的代理实例会找不到方法??
问题补充
呵呵, 多谢楼上的回复, 确实是这样. 配置proxy-target-class="true"就行了, 非常感谢...