我正在研究注释处理器并且变得很好奇。
注释这样并在注释处理器中验证是否有意义?
@Retention(value = RUNTIME)
@Target(value = {FIELD, METHOD, PARAMETER})
public @interface BitProperty {
@Min(1)
@Max(31)
int scale() default 31;
}
答案 0 :(得分:1)
我甚至不确定这应该怎么做?你的期望是什么?当注释处理器运行时,您希望进行验证并且带有无效参数值的注释(例如scale > 31
)会抛出约束违例异常,而这又会中止注释处理?
这里最大的问题是注释处理器不处理Annotation
实例,而是使用AnnotationMirrow
和javax.lang.model.element
包中的其他类。 Bean Validation和Hibernate Validator不适用于此反射API。所以,不是,它不会起作用。