是否可以覆寫自定義注釋中使用的注釋的引數值?
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@SpringBootTest(classes = [HOW_TO_CHANGE_THESE])
@ComponentScan(basePackages = {[HOW_TO_CHANGE_THESE]})
@ActiveProfiles("testing")
public @interface IntegrationTest {
}
我的目的是減少測驗中的注釋數量,同時為所有此類測驗設定默認值。我想像這樣使用它:
@IntegrationTest(classes="...", basePackages="...")
class AbcTest {
}
提前致謝!
uj5u.com熱心網友回復:
是的,如果您使用的是 Spring 框架,這是可能的。為此,它有一個特殊的@AliasFor注釋:
@AliasFor 是一個注解,用于為注解屬性宣告別名。
您可以在此處的官方檔案或本教程中找到更多使用示例。
此外,還有如何官方檔案中使用元注釋在Spring背景關系測驗的細節在這里。
您使用此注釋的示例將如下所示:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@SpringBootTest
@ComponentScan
@ActiveProfiles("testing")
public @interface IntegrationTest {
@AliasFor(annotation = ComponentScan.class, attribute = "basePackages")
String[] basePackages() default {};
@AliasFor(annotation = SpringBootTest.class, attribute = "classes")
Class<?>[] classes() default {};
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/366729.html
