我知道一切都可以手动完成,就像在这种情况下直接使用 Java 反射 api 一样。但是我想知道是否存在一些库来处理注释处理。
例如,我有:
@Entity
class MyPojo {
@Id
private Long id;
@Attribute
private String s1;
// and so on...
}
是否有一个库可以在运行时轻松地为带注释的对象分配值和获取值。喜欢:
Object avalue = AnnotationProcessor.getAnnotatedValue(theObject, Id.class);
AnnotationProcessor.setAnnotatedValue(theObject, Id.class, 123L);
它处理设置和取消设置字段访问的所有怪癖以及手动执行操作时的类似操作。
也许有能力处理类型检查,就像@Id
上面的例子一样,它应该检查传递的参数是否是 Long 如果不是它应该失败或正确处理它。