我正在尝试创建自定义约束验证器注释。这是我在下面的注释定义。 Eclipse抱怨说这个位置不允许使用"目标注释。"保留和约束也是如此。我使用的是Java 1.7
package com.test;
import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;
import java.lang.annotation.Target;
import java.lang.annotation.Retention;
import javax.validation.Constraint;
import javax.validation.Payload;
@Target(PARAMETER)
@Retention(RUNTIME)
@Constraint(validatedBy = MyValidator.class)
public interface MyValidationAnnotation{
String message() ;
Class<?>[] groups() ;
Class<? extends Payload>[] payload() ;
}
答案 0 :(得分:4)
将public interface
更改为public @interface
。
可以创建自己的(自定义)Java注释。 注释在它们自己的文件中定义,就像Java类或 接口。这是自定义Java注释示例:
@interface MyAnnotation {
String value();
String name();
int age();
String[] newNames();
}
此示例定义了一个名为MyAnnotation的注释,它有四个 元素。 注意@interface关键字。这向Java发出信号 编译器,这是一个Java注释定义。