我正在尝试为具有自定义注释的类的所有方法编写切入点。这是代码
注解:
import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Retention(value = RetentionPolicy.RUNTIME) @Target(value = ElementType.METHOD) public @interface ValidateRequest {}
控制器中的方法:
@RequestMapping(value = "getAbyB", produces = "application/json") @ResponseBody @ValidateRequest public Object getAbyB(@RequestBody GetAbyBRequest req) throws Exception { /// logic }
方面:
@Aspect @Component public class CustomAspectHandler { @Before("execution(public * *(..))") public void foo(JoinPoint joinPoint) throws Throwable { LOG.info("yippee!"); } }
应用上下文:
`<aop:aspectj-autoproxy />`
我一直在尝试各种建议,如下所述,但似乎没有一个有效(除了上面使用的那个)
@Around("@within(com.pack.Anno1) || @annotation(com.pack.Anno1)")
@Around("execution(@com.pack.Anno1 * *(..))")