我知道一切都可以手动完成,比如在这种情况下直接使用Java reflection 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,如果不是它应该失败或正确处理它。