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

2020年11月2日

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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;
}
}
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; } }
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.アノテーションに列挙型を利用

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@Documented
public @interface Smp {
//some code
AuthRank rank() default AuthRank.reguser;
}
@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) @Documented public @interface Smp { //some code AuthRank rank() default AuthRank.reguser; }
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@Documented
public @interface Smp {

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

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

SpringMVC

Posted by arkgame