<dependency>
<groupId>javax.interceptor</groupId>
<artifactId>javax.interceptor-api</artifactId>
<version>1.2.2</version>
</dependency>
@InterceptorBinding
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
public @interface MyInterceptor {
String value() default "";
}
@MyInterceptor
public class MyInterceptorImpl implements Interceptor {
@AroundInvoke
public Object intercept(InvocationContext context) throws Exception {
Object result = context.proceed();
return result;
}
}
@MyInterceptor
public class MyClass {
@MyInterceptor
public void myMethod() {
}
}
@Configuration
@EnableInterceptor(MyInterceptorImpl.class)
public class AppConfig {
}