首页 > 代码库 > 通过AOP拦截自定义注解实现相应的功能处理

通过AOP拦截自定义注解实现相应的功能处理

1、自定义注解

@Retention(RetentionPolicy.RUNTIME)
@Target(value=http://www.mamicode.com/{ElementType.METHOD})

public @interface ResultHandle{

  Class<?> handler() default ResultHandler.class;

}

 

2、定义方法拦截器实现ResultHandleAnnotationMethodInterceptor实现MethodInterceptor,在invoke方法中对于要执行的方法根据注解配置进行相应的处理。

 

3、在spring配置文件中配置

<bean id="resultHandleAnnotationMethodInterceptor" class="com.zk.interceptor.ResultHandleAnnotationMethodInterceptor"/>


<aop:config proxy-target-class="true">
<!--切面:所有包含@ResultHandle注解的方法-->
<aop:pointcut expression="@annotation(com.zk.annotation.ResultHandle)" id="resulthandle-annotation-pointcut"/>
<!--通知:对定义的切面执行通知-->

<aop:advisor advice-ref="resultHandleAnnotationMethodInterceptor" pointcut-ref="resulthandle-annotation-pointcut"/>

</aop:config >

通过AOP拦截自定义注解实现相应的功能处理