Java自定义注释

志爱

我想创建一个自定义批注来验证ManagedBean中的一个属性,例如 @StartWithUpperCase

public @interface StartWithUpperCase{
    // 
}

和im manegedBean类,我使用我的注释,如:

public class myBean implements java.io.Serializable{
  @StartWithUpperCase
  @NotNull
  private name;
}

我该怎么做。

VGR

首先将@Constraint注释放在自定义验证注释类上。如您在javadoc中所看到的,@Constraint需要一个实现的验证实现类ConstraintValidator

您的自定义注释类必须具有:

  • 一个String message()属性
  • 一个Class<?>[] groups() default {}属性
  • 一个Class<? extends Payload>[] payload() default {}属性

如果需要,它可以具有特定于验证实现的其他属性。

如果您希望注释的消息可本地化,那么Bean验证框架通过查找ResourceBundle其标准名称为来支持国际化消息"ValidationMessages"约束注释的属性可以通过在括号中包含ResourceBundle键(例如)来利用ResourceBundle String message() default "{StartWithUpperCase_message}";

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章