Javaのエンティティクラスでデフォルト値を設定する方法
Javaではアノテーションを使用してエンティティクラスのデフォルト値を設定できます. 以下はその例です
public class Entity {
@DefaultValue("John")
private String name;
@DefaultValue("25")
private int age;
public Entity() {
// 使用反射获取字段上的DefaultValue注解,并将注解中指定的值赋给字段
for (Field field : getClass().getDeclaredFields()) {
DefaultValue annotation = field.getAnnotation(DefaultValue.class);
if (annotation != null) {
try {
field.setAccessible(true);
field.set(this, annotation.value());
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
上記のサンプルでは、独自のDefaultValueアノテーションを使用してエンティティクラスのフィールドにデフォルト値を設定しました。 次に、エンティティクラスのコンストラクタの中で、反射を使ってすべてのフィールドを取得し、DefaultValueアノテーションが付いたフィールドを検出します。 そして反射を使ってアノテーションで指定された値をフィールドに設定します。
デフォルトアノテーション定義を以下に示します。
import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface DefaultValue {
String value() default "";
}
エンティティクラスのフィールドに@DefaultValue(“デフォルト値”)を追加するだけで、このアノテーションを使用できます。
サンプルの使用法:
public static void main(String[] args) {
Entity entity = new Entity();
System.out.println(entity.getName()); // 输出:John
System.out.println(entity.getAge()); // 输出:25
}
アノテーションを使用したエンティティクラスの既定値の設定方法です。お役に立てれば幸いです!