请有人帮助我。我想用spring AOP创建一个切入点,拦截所有带注释注释的方法都是另一个继承。
在我的例子中,我想要c
TaskControl.class
@Documented
@Target({METHOD, ElementType.ANNOTATION_TYPE})
@Retention(RUNTIME)
@Inherited
public @interface TaskControl {
/**
* taskSelectorAnnotation
* @return
*/
Class<? extends Annotation>[] value() default {};
}
TypeTaskCriteria.class
@Documented
@Target({METHOD})
@Retention(RUNTIME)
@TaskSelectorStrategy(value = TypeTaskSelector.class)
@TaskControl
public @interface TypeTaskCriteria {
Class<?> genericType() default void.class;
boolean defaultPreTask() default true;
Class<? extends Task>[] pre() default {};
boolean defaultPostTask() default true;
Class<? extends Task>[] post() default {};
}
ExampleTest.class有一个方法,如下所示:
@TypeTaskCriteria(pre = PreRetrieveTask.class, post = PostRetrieveTask.class)
public Page<T> retrieve(Integer pageNumber,
Integer pageSize,
String filterExpression,
String sortExpression,
String expandExpression,
Map<String, String> parameters) throws InvalidParameterException, UnexpectedException {
我的切入点是:
@Around("@annotation(br.org.ccee.fusion.core.api.task.TaskControl)")
public Object executeChains(ProceedingJoinPoint pjp) throws Throwable {
(如果我改为TypeTaskCriteria,切入点工作正常)
有人有一个anwser ????
谢谢!!!!
Valdir Scarin