0
我有一堆Spring 4.2項目中的類。 我想用@Xyz註解來標註它們。根據AspectJ文檔,它可以通過如何在Spring AspectJ中使用「聲明」指令?
declare @type : x.y.z.* : @Xyz;
指令。 但我不知道在哪裏放置它。
我有一堆Spring 4.2項目中的類。 我想用@Xyz註解來標註它們。根據AspectJ文檔,它可以通過如何在Spring AspectJ中使用「聲明」指令?
declare @type : x.y.z.* : @Xyz;
指令。 但我不知道在哪裏放置它。
我在我身邊進行了一些測試,經過一番努力,我找到了具體的實現。不幸的是,@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() {}
}
看起來像它的目標是一個_xyzMethod_,而我的目標一類。試一試 '@Aspect public class AnnotationAspect { @DeclareAnnotation(「x.y.z. +」) @JsonIgnoreProperties(ignoreUnknown = true)Object any; }' –
我看到了,它僅受註解值的限制,而不受所應用的屬性的限制。還在建.. –
不 - 沒有運氣。 ' < bean id =「annotationAspect」class =「xyzAnnotationAspect」/>' –