java注解@Interface与Annotation?
@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Component { String value() default ""; }@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Component public @interface Configuration {String value() default ""; }
我有一个对象被@Configuration注解,那我怎么知道它还是被Component注解的?@Interface
和接口Annotation
是什么关系?
有一个注解了@Configuration的对象, obj.getClass().getAnnotation(Configuration.class).getClass()=<爱尬聊_百科词条>=Configuration.class
结果是false,obj.getClass().getAnnotation(Configuration.class) instanceof Configuration
为true,obj.getClass().getAnnotation(Configuration.class) instanceof Component
为false
我家老婆大 2022-07-01 19:37
@Component
只是@Configuration
的注解声明,并不表示@Configuration
就是@Component
类型
于小雨yxy 2022-07-01 19:40
注:Meta-Annotations
并不是Annotation
的原生功能,只是在spring
中实现了这种机制。如果单纯的使用原生的Annotation
则需要自己解析Meta-Annotations
实现相应的功能才行。
tianyafandy 2022-07-01 19:42
我有一个对象被@Configuration注解,那我怎么知道它还是被Component注解的?
159****7889 2022-07-01 19:46
Annotation
也可以获取自身的注解。
无料丶 2022-07-01 19:52
没听懂
回忆丶往事_116 2022-07-01 19:52
@interface
是声明注解的关键字(与class/interface
一样)