spring aop拦截的参数怎么实现可配置化呢?

@Aspect
@Component
@Order(-99)
public class TestAspect {

    private static final String POINT_CUT = "datasource()";

    @Pointcut("execution(* xx.xxx.xxx.repository..*.*(..))")
    public void datasource() {

    }
    
}

如上所示,其中execution(* xx.xxx.xxx.repository..*.*(..))中的参数我想在配置中进行配置,因为这个拦截值是动态的,有没有什么好的方法?

阅读 2.4k
2 个回答

两种思路:

  1. 在打包或者编译的时候进行静态替换,可以基于maven插件做这件事情
  2. 拦截全部方法,动态判断是否放行

推荐第二种

可以在切面方法中实现这个逻辑呀,如果不是需要 AOP 处理的参数,就直接返回不处理就行。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题