提供@AliasFor注解,来给注解的属性起别名,让使用注解时,更加的容易理解(比如给value属性起别名)
@MainBean(beanName = "mainbean")
public class Main {
public static void main(String[] args) {
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(Main.class);
String[] beannames = context.getBeanNamesForType(Main.class);
//当加上@AliasFor时, 输出"mainbean"
//当去掉@AliasFor注解后, 输出"main"
System.out.println(beannames[0]);
context.close();
}
}
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Configuration
@interface MainBean {
@AliasFor("value")
String beanName() default "";
@AliasFor("beanName")
String value() default "";
}
最后欢迎大家访问我的个人网站:1024s