2017-05-05 51 views

回答

1

我在我身邊進行了一些測試,經過一番努力,我找到了具體的實現。不幸的是,@DeclareAnnotation存在但未實現。

我們可以在這裏看到它。 https://github.com/eclipse/org.aspectj/blob/V1_8_9/docs/adk15ProgGuideDB/ataspectj.xml#L1017

我以爲它會實現中文註解出現在版本1.5.3中。我的錯。


原始回答(不工作,AspectJ v1.8.9)。

首先,您需要在您的配置中啓用AspectJ。例如,Java配置:

@Configuration 
@EnableAspectJAutoProxy 
public class AopConfiguration {} 

然後創建與@DeclareAnnotation標註一個新的方面:

@Aspect 
public class XyzAspect { 

    @DeclareAnnotation("x.y.z.*") 
    @Xyz class XyzClass {} 

    @DeclareAnnotation("x.y.z.MyClass.*(..)") 
    @Xyz void xyzMethod() {} 
} 
+0

看起來像它的目標是一個_xyzMethod_,而我的目標一類。試一試 '@Aspect public class AnnotationAspect { @DeclareAnnotation(「x.y.z. +」) @JsonIgnoreProperties(ignoreUnknown = true)Object any; }' –

+0

我看到了,它僅受註解值的限制,而不受所應用的屬性的限制。還在建.. –

+0

不 - 沒有運氣。 ' < bean id =「annotationAspect」class =「xyzAnnotationAspect」/>' –