java - jaxb注解不可扩展的原因是什么?

标签 java jaxb

如果您查看 jsr-303(bean 验证),您会发现注释可以放在 @target 中的 ANNOTATION_TYPE 上(例如 javax.validation.constraints.Min)

通过这种方式,bean 验证可以轻松扩展到@OnlyPositiveNumber

以 jaxb 为例(一个糟糕的例子),我可以创建 @XmlAlwaysRequiredElement

XmlElement 这样的 JAXB 注释不使用相同的技术有充分的理由吗?

最佳答案

我怀疑你可能会说“由于 X 而没有完成” - 事情就是这样,要么规范负责人认为没有必要,要么他们根本没有想到它。谁知道呢。

但是,在这种情况下,我真的认为没有太大必要。您的示例涉及数据验证,而 JAXB 旨在与 XML 架构配合使用来实现此目的,而不是使用注释进行验证。

如果我们想要对 JAXB 进行基于注释的验证,那么为此使用 JSR-303 验证会更有意义,并且让 JAXB 运行时选取它们并使用它们,而不是或者除此之外, XML 模式验证。不过(我认为)当前的实现都没有做到这一点。

关于java - jaxb注解不可扩展的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5451958/

相关文章:

java - null 是什么意思?

Java重载构造函数强制int参数

spring - Jaxb 编码器和泛型(2)

java - 列表的自动 XmlRootElement 包装器

JAXB 架构到 Java 不同的 XmlRootElement 名称和类名称

java - JAXB:具有文本内容和属性的元素,使用 XJC 生成类

java - 从 Gradle、Spring 和 DB2 开始的挑战

java - 当鼠标光标悬停在 JButton 上时更改 boolean 值

java - 本地非 maven jar 正在 maven 服务器上搜索。为什么?

java - 将 Java 对象转换为 XML 字符串