2011-03-12 20 views
10

Considere he definido el siguiente aspecto:primavera AOP: Obtención de los parámetros de la anotación pointcut

@Aspect 
public class SampleAspect { 

    @Around(value="@annotation(sample.SampleAnnotation)") 
    public Object display(ProceedingJoinPoint joinPoint) throws Throwable { 
     // ... 
    } 
} 

y la anotación

public @interface SampleAnnotation { 
    String value() default "defaultValue"; 
} 

¿Hay una manera de leer el parámetro de valor de la SampleAnnotation anotación en el método de visualización si mi aspecto?

Gracias por su ayuda, erik

+1

posible duplicado de [Acceso al valor de anotación en el aviso] (http://stackoverflow.com/questions/5026247/accessing-annotation-value-in-advice) – axtavt

Respuesta

10

Cambiar el asesoramiento de la firma

@Around(value="@annotation(sampleAnnotation)") 
public Object display(ProceedingJoinPoint joinPoint, SampleAnnotation sampleAnnotation) throws Throwable { 
    // ... 
} 

y tendrá acceso al valor en la anotación.

Consulte docs para obtener más información.

+1

para ver la documentación en profundidad: http: // docs .spring.io/spring/docs/3.0.3.RELEASE/spring-framework-reference/html/aop.html - sección 7.2.4.6 Parámetros de asesoramiento – hoodieman

Cuestiones relacionadas