You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AspectJ双点..语法工作原理及切入点配置正确性咨询

AspectJ切点双点..语法解释

你配置中execution(* com.teste1.teste2.web.controller..*())里的..是AspectJ切点表达式的标准语法,作用为:

  • 匹配com.teste1.teste2.web.controller当前包下的所有类的所有方法
  • 同时匹配com.teste1.teste2.web.controller下所有层级子包的所有类的所有方法

如果替换为单.,仅会匹配controller包直接下级的类方法,不会递归匹配子包内容,你当前的双点写法本身语法合法,不是导致404的直接原因。

你当前AOP配置的生效范围

你贴的配置写法没有语法错误:

<aop:aspect ref="permissionInterceptor">
  <aop:around
    method="invoke"
    pointcut="execution(* com.teste1.teste2.web.controller..*())
      and @annotation(com.teste1.ae.client.security.Permission)"
  />
</aop:aspect>

只要同时满足两个条件的方法就会被权限拦截器拦截:

  1. 方法所属的类在com.teste1.teste2.web.controller包或者其任意子包下
  2. 方法上标注了com.teste1.ae.client.security.Permission注解

404问题排查建议

  • 确认你要拦截的Controller类是否在com.teste1.teste2.web.controller包/子包下,路径不匹配的话切面不会拦截,可能触发权限校验失败返回404
  • 确认目标方法上是否添加了指定的@Permission注解,漏加注解不会进入切面逻辑
  • 排查permissionInterceptor的invoke方法逻辑,是否有权限校验不通过直接设置404响应的分支,多数情况下404是切面校验逻辑触发的返回结果

内容的提问来源于stack exchange,提问作者johny campos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 23:54:03