1、自定义注解
@Retention(RetentionPolicy.RUNTIME)
@Target(value={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 >
时间: 2024-11-12 07:46:49