这是spring的JdbcTemplate和事务写的一个转账扣钱和价钱的小代码,使用的是纯注解的方式,大牛们仔细看下图,图上有说明问题呢,万分感谢

解决方案 »

  1.   

    一直报图一中的错,图二给开启事务注解里面加上@EnableTransactionManagement(proxyTargetClass = true) 就正常了,括号里面这个属性是什么意思呢?别人解释是  是否使用代理类,不太理解,,如果以后spring要使用纯注解的方式的话,一定要加这句话吗?
      

  2.   

    你添加@Transactional的类是不是没有实现接口,如果proxyTargetClass = false,会使用jdk动态代理,必须要实现接口,proxyTargetClass = true表示要使用cglib代理,不需要接口
      

  3.   

    接口实现了,还是用的jdk动态代理,问题找到了,在测试类测试的时候,注入属性时,注入的实现类,因为事物底层是aop,所以没办法获得代理,注入接口就没问题了