「Spring」アノテーション(annotation)に列挙型(enum)を呼び出すサンプル

2020年11月2日

構文
public @interface Sample {
enum名 xxx
}
1.列挙型(enum)の定義

package com.arkgame.study.java8;

public enum AuthRank {
      admin(000),
      pmuser(100),
      reguser(200);

      private int value;

      private AuthLevel(int value) {
            this.value = value;
      }

      public int getValue() {
            return this.value;
      }

}

2.アノテーションに列挙型を利用

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@Documented
public @interface Smp {

 //some code
AuthRank  rank() default AuthRank.reguser;
}

3.アノテーションを利用
@Smp
public String userName;