我们实现类的某个方法调用另一个方法的时候会出现代理失效的问题,如下所示,这样会导致getList2查询的时候@MyTes注解失效
@Override
@MyTest
public List<SysUserEntity> getList(SysUserEntity sysUserEntity) {
return sysUserMapper.getList(sysUserEntity);
}
@Override
public List<SysUserEntity> getList2(SysUserEntity sysUserEntity) {
return this.getList(sysUserEntity);
}
一下提供两种解决方案
//第一种解决方案,需要添加@EnableAspectJAutoProxy(exposeProxy = true)
/*SysUserService s = (SysUserService)AopContext.currentProxy();
return s.getList(sysUserEntity);*/
//第二种解决方法 获取bean的方式获取当前service的代理对象
/*SysUserService bean = SpringUtils.getBean(SysUserService.class);
return bean.getList(sysUserEntity);*/