Spring aop 关于around环绕通知几点疑惑

来源:互联网  时间:2016/7/24 7:32:34

关于网友提出的“ Spring aop 关于around环绕通知几点疑惑”问题疑问,本网通过在网上对“ Spring aop 关于around环绕通知几点疑惑”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: Spring aop 关于around环绕通知几点疑惑
描述:


个人aop拦截了所有service的接口 : I*Service

public Object doLog(ProceedingJoinPoint pjp) throws Exception {
        String methodName = pjp.getSignature().getName();//获取方法名
        Object target = pjp.getTarget();//目标类我是aop拦截了I*Service   此处获取的target是实现类还是接口类?
        String className = ReflectionUtils.getClassName(target.getClass());//通过反射获取该类名
        Object[] args = pjp.getArgs();//获取所有参数
        
        System.out.println("className = " + className);
        if (StringUtils.hasLength(methodName)) {
            if (methodName.equals("getUser")) {  //此处 我只能去匹配字符来知道是走哪个方法吗?  如果我一个接口内方法重载了可咋办呢、 比如getUser(通过id获取) 和gerUser(通过帐号密码获取)
                iLogService.logMainMgrUserChange(args);//此处方法会把参数分解去保存到数据库
            }
        }
        return pjp.proceed();
    }

如果我想在重要的接口才log、   比如一些重要的操作、
我如何才能在不使用字符串去匹配方法名 去记录日志
感觉这样处理有些不是那么好、
有没有类似反射这样的或者其他 的方法去比对是否是我想要的接口方法?
可能我描述的不是那么明白、请告之、先谢谢各位、
解决方案1:

这个还真没有 好像 , 你自己写一个吧! 就不判断methodName直接判断Method 这个对象

上一篇<求助>Json传值问题
下一篇是知道sql的MIME类型是什么啊。。
明星图片
相关文章
《 Spring aop 关于around环绕通知几点疑惑》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)