大佬教程收集整理的这篇文章主要介绍了此嵌套注释可以做什么/允许做什么?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
之所以存在NotEmpty.List,是为了避免无法对同一元素重复相同的注释。借助于NotEmpty.List,可以将多个NotEmpty批注有效地应用于一个元素。注释处理通过NotEmpty注释列表(即NotEmpty.List的值)进行检查。
对于NotEmpty,使用验证者列表的一个原因可能是使用组并为每个组分配不同的消息。
为了举例说明,让我们以可以代表公司或个人的实体为例。在两种情况下,名称都不应为null,但消息有所不同:
@NotEmpty.List({
@NotEmpty( message = "Person name should not be empty",
groups=PersonValIDations.class),
@NotEmpty( message = "Company name should not be empty",
groups=CompanyValIDations.class),
})
private String name;
我在看@org.hibernate.validator.constaints.NotEmpty
注释:
@Documented
@ConsTraint(validatedBy = { })
@Target({ METHOD,FIELD,AnnOTATION_TYPE,CONSTRUCTOR,PARAMETER })
@Retention(RUNTIME)
@ReportAsSingleViolation
@NotNull
@Size(min = 1)
public @interface NotEmpty {
String message() default "{org.hibernate.validator.consTraints.NotEmpty.messagE}";
Class<?>[] groups() default { };
Class<? extends Payload>[] payload() default { };
/**
* Defines several {@code @NotEmpty} Annotations on the same element.
*/
@Target({ METHOD,PARAMETER })
@Retention(RUNTIME)
@Documented
public @interface List {
NotEmptY[] value();
}
}
我对最后一部分感到困惑:
/**
* Defines several {@code @NotEmpty} Annotations on the same element.
*/
@Target({ METHOD,PARAMETER })
@Retention(RUNTIME)
@Documented
public @interface List {
NotEmptY[] value();
}
我不确定它是如何工作的,也不知道如何使用它。据我了解,Java 8下的任何内容都不允许在同一元素上重复注释。
有人可以澄清吗?
以上是大佬教程为你收集整理的此嵌套注释可以做什么/允许做什么?全部内容,希望文章能够帮你解决此嵌套注释可以做什么/允许做什么?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。