在做网盘的时候,遇到了一个奇怪的问题,虽然文件上传到了hdfs,但是在把文件信息保存到数据库时,却遇到了一个奇怪的问题,那就是明明方法已经成功执行,但是数据库却没有数据,然后根据后台的SQL的打印结果显示,明明那个inset语句已经执行了.这让我纠结了一下午,仔细的检查了配置文件,发现明明已经配置了事务,然后用junit测试了一下,发现真的是spring没有提交事务
项目目录
一开始,怎么看都感觉没有问题,后来,重新找了一下spring事务管理的资料看了一下,马上就发现不对了
aop:pointcut标签配置参与事务的类
expression="execution(* com.xun.disk.dao.*.*(..)))"
其中第一个*代表返回值,第二*代表dao下类,第三个*代表方法名,“(..)”代表方法参数。
问题就在第二个了,因为我的dao类是放在到下的子包users里的,所以正确的方法应该是
expression="execution(* com.xun.disk.dao.*.*.*.(..)))"
改了一下,OK,解决了