ABAP 没有 @Around 注解,但可以用显式扩展点和装饰器实现同类治理

发布时间:2026/7/19 15:33:06
ABAP 没有 @Around 注解,但可以用显式扩展点和装饰器实现同类治理 结论先放在台面上ABAP 没有一个和 Java Spring@Around完全对等的注解机制。更准确地讲,ABAP 没有 Spring AOP 那种通过切点表达式匹配一批方法,再由框架在运行时把横切逻辑织入方法调用链的通用能力。ABAP 里的注解大多服务于 CDS 元数据、RAP 行为建模、UI 元数据、授权检查、语义描述、编译期或框架期解释,而不是像 Spring@Around那样声明一段可以包裹任意目标方法执行的 advice。Spring 官方文档对@Around的定义很明确,它围绕匹配到的方法执行,可以在目标方法运行前后做工作,还能决定目标方法何时执行、怎样执行,甚至是否执行。@Around方法通常以ProceedingJoinPoint作为第一个参数,并通过proceed()触发底层方法调用;返回给调用方的结果也由 around advice 决定,甚至可以直接返回缓存值而不执行原方法。(Home)把这套语义搬到 ABAP 世界里,会发现 ABAP 的设计哲学完全不同。ABAP 更偏向显式扩展、显式调用、框架生命周期钩子和业务对象行为控制。最接近@Around的思