「Spring」getAnnotation()とisAnnotationPresent()メソッドでアノテーションを操作する方法
説明
1.public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
指定された型の注釈がこの要素に存在する場合はtrueを返し、そうでない場合はfalseを返します。
2.getAnnotation(Class<T> annotationClass)
存在する場合は、この要素の指定された型の注釈を返し、そうでない場合はnullを返します。
サンプルコード
1. アノテーション定義(USERInfo.java)
@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) @Documented public @interface USERInfo { String userInfo(); int age() default 20; }
2.アノテーションが存在チェック(isAnnotationPresent)
Field [] fds = this.getClass().getDeclaredFields(); for(Field fd : fds ) { if(fd.isAnnotationPresent(USERInfo.class)) { //some code } }
3.アノテーションの要素を取得(getAnnotation)
Field [] fds = this.getClass().getDeclaredFields(); for(Field fd : fds ) { USERInfo userInfo =fd.getAnnotation(USERInfo.class) int cnt= userInfo.getage()