因为它是在私有方法上使用的。spring文件:
方法可见性和@Transactional
使用代理时,应仅将@Transactional注释应用于具有公共可见性的方法。如果使用@Transactional注释对受保护的,私有的或程序包可见的方法进行注释,则不会引发任何错误,但是带注释的方法不会显示已配置的事务设置。如果需要注释非公共方法,请考虑使用AspectJ(请参见下文)。
当它是私有的时,显然是从同一类内部调用的。但是Spring调用需要通过代理才能工作。因此,将需要从另一个bean调用该方法。
另一种选择是使用@Transactional注释类。



