Can Springs @AliasFor可用于@Import

时间:2018-11-20 07:19:36

标签: java spring annotations

我想使用@ImportAliasFor创建一个元注释。我的示例看起来像

@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@ExtendWith(SpringExtension.class)
@ActiveProfiles("Foo")
@Import({})
public @interface MyNewImport {
    @AliasFor(annotation = Import.class, attribute = "value")
    Class<?>[] value();
}

这不起作用。 由于JavaDoc说我的注释的默认值和原始注释的默认值必须相同,所以我猜AliasFor对于没有默认值的值不起作用。

是否可以为@Import创建元注释?

1 个答案:

答案 0 :(得分:0)

我真的不知道你做错了什么。也许是春季版。或不。我可以肯定的是,下面的代码就像一个魅力一样工作。希望对您有所帮助。

@Import({})
@DataJpaTest(includeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Repository.class))
@Inherited
@Documented
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface ServiceJpaTest {

    @AliasFor(annotation = Import.class, attribute = "value")
    Class<?>[] serviceClassesToLoad() default {};

}
相关问题