spring中自定义注解失效解决

场景

  最近在项目中自定义了一个日志注解用于记录操作日志,加在方法中,发现每次调用该方法的时候注解没有生效

统一方法封装
controller直接调用这个封装的方法,发现sm2里面的日志注解不生效
,最后发现是由于代理对象导致的 ,

解决方法

在启动项中加入

@EnableAspectJAutoProxy(exposeProxy = true)

调用内部方法使用代理调用

 **SelfCheckServiceImpl proxy = (SelfCheckServiceImpl) AopContext.currentProxy();**
        switch (result.getType()) {
            case 1:
                res = proxy.sm2DecSelfCheck(result);
                break;
            case 2:
                res = proxy.sm2VeritySignSelfCheck(result);
                break;

总结

b方法有注解 A方法调用B方法 controller调用A方法 这个时候注解是不生效的,可以统一参照这个方法解决,也可以直接让b方法给controller调用


版权声明:本文为Swaggy_yu原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。