前言

如题,最近开发时,遇到一个很坑的问题,配置了切面,切点设置在service的实现类中,但实际测试切面对某个service无效,这个问题断断续续,卡了我好多天。

要是选其他的service做测试还好,但好死不死,我选来做测试的这个service在Shiro realm中 通过@Autowrid 注入的,如下图,其他service都可以用。

image

通过几番查找资料排查问题,网上说是shiro和Aspect互相冲突导致,在shiroRealm注入的service再新增延迟加载注解@Lazy就可以,经过我实际测试,确实可以。

image

里面具体冲突的原因,我一直都没找到,目前猜测是Spring bean实例化前后顺序问题,不知道是不是对的,特此先记录下。

这个只是Springbpoot 切面无效的问题之一,其他的暂时没遇到,正常来说,只要@Aspet 标签和pom中引入相应的包,正常都可以使用,和shiro冲突,是我怎么都没想到的。

(完)

文章抄自:_修铁路的