Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用;宣布;SpringAspectJ中的指令?_Java_Spring_Annotations_Aspectj - Fatal编程技术网

Java 如何使用;宣布;SpringAspectJ中的指令?

Java 如何使用;宣布;SpringAspectJ中的指令?,java,spring,annotations,aspectj,Java,Spring,Annotations,Aspectj,在Spring4.2项目中,我有很多课程。 我想用@Xyz注释对它们进行注释。根据AspectJ文档,它可以由 declare @type : x.y.z.* : @Xyz; 指示。 但是我不知道应该把它放在哪里。我做了一些测试,经过一些努力,我寻找了具体的实现。遗憾的是,@DeclareAnnotation存在,但没有实现 我们可以在这里看到。 我认为它会在1.5.3版本中出现注释后实现。我的错 原始答案(AspectJ v1.8.9不起作用)。 首先,需要在配置中启用AspectJ。例

在Spring4.2项目中,我有很多课程。 我想用@Xyz注释对它们进行注释。根据AspectJ文档,它可以由

declare @type : x.y.z.* : @Xyz;
指示。
但是我不知道应该把它放在哪里。

我做了一些测试,经过一些努力,我寻找了具体的实现。遗憾的是,
@DeclareAnnotation
存在,但没有实现

我们可以在这里看到。

我认为它会在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() {}
}

我在我这边做了一些测试,经过一些努力,我寻找具体的实现。遗憾的是,
@DeclareAnnotation
存在,但没有实现

我们可以在这里看到。

我认为它会在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() {}
}

我瞄准一个类时,它似乎瞄准了一个XYZ方法。目前正在尝试
@Aspect public class AnnotationAspect{@DeclareAnnotation(“x.y.z+”)@JsonIgnoreProperties(ignoreUnknown=true)Object any;}
我明白了,它只由注释值而不是应用的属性决定。还在建…不-不走运<代码>我做了一些测试,经过一番努力,我寻找了具体的实现。遗憾的是,
@DeclareAnnotation
存在,但没有实现。。。我的错。我想是的,因为它是从1.5.3开始的,我们现在是1.8.9。。。我瞄准一个类时,它似乎瞄准了一个XYZ方法。目前正在尝试
@Aspect public class AnnotationAspect{@DeclareAnnotation(“x.y.z+”)@JsonIgnoreProperties(ignoreUnknown=true)Object any;}
我明白了,它只由注释值而不是应用的属性决定。还在建…不-不走运<代码>我做了一些测试,经过一番努力,我寻找了具体的实现。遗憾的是,
@DeclareAnnotation
存在,但没有实现。。。我的错。我想是的,因为它是从1.5.3开始的,我们现在是1.8.9。。。