今天突然发现代码中某个service的事务注解没有生效,缓存注解也没有起作用。对代码做了各种排查依然没能解决问题,神奇的是其它service类中带相关注解的方法是正常的。经过一天的调试,最后发现是shiro导致该问题的出现。 解决方案 在shiro realm中注入的相关service对象上增加@Lazy注解,防止service对象被ShiroFilterFactoryBean提前初始化。