当前位置: 首页 > 知识库问答 >
问题:

JAXB:带注释类中的属性固定值

范楚
2023-03-14

我使用JAXB从Java类生成XML模式(XSD)。我想知道如何使用注释来指定一个静态属性的值。

例如,我定义了一个如下所示的属性

@XmlAttribute(name="tooltip")
private static final String TOOLTIP = "A string";

我想在我的XSD中

<attribute name="tooltip" type="string" fixed="A string">

共有1个答案

云何平
2023-03-14

从JAXB2.2开始,就没有标准的JAXB(JSR-222)元数据可以添加到模型中,从而使fixed属性出现在生成的XML模式中。模式生成的错误在于过于允许而不是过于限制。这意味着您不能执行以下操作:

  • 为属性标记固定值
  • 标记a最大值出现在1或无界之外
 类似资料:
  • 我们一直在使用Spring@Value注释来注入属性值。我们有一个约定来命名属性名称,以匹配它们注入的java字段。这带来了不必要的工作,即每个ConfigBean的java字段都需要用@Value注释。 我正在寻找一种方法,用新的注释注释java类(比如说ConfigBean),让一些后处理器读取这些bean的属性名称,并自动注入属性值。 我正在寻找一些关于如何在没有@Value注释的情况下实现

  • 问题内容: 我正在从DropWizard 0.7.1迁移到0.8.1的过程中。这包括从Jersey 1.x迁移到2.x。在使用Jersey 1.18.1的实现中,我实现了(为简单起见,更改了所有类名)。此类将创建包含自定义注入批注的对象。包含传递并由读取的各种属性。最后,在该类中,我注册的新实例,如下所示。 我已经进行了一些研究,似乎无法完全围绕如何在Jersey 2.x中创建(或替换)这样的se

  • 我使用com.google.gson.annotations.SerializedName,其中包含gson docs中提到的元素"value"和"备用",但编译器表示错误:"属性备用未定义注释类型SeriazedName"。

  • 我正在使用注释处理器来处理方法参数的注释。 用于参数的注释类型有一个注释@参数 现在,当注释处理器运行时,我想检查参数注释()是否有参数注释。我通过执行以下代码来实现这一点。 由于某种原因,arg始终为空。是否有注释未返回的原因?

  • 我有以下课程: 我从控制器调用方法test(): 然而,spring并没有注入构建。版本值,即使类具有组件注释。 我在控制器中使用相同的属性,它工作正常。 我做错了什么?

  • 问题内容: 我已经使用JAXB编写了许多类进行序列化,并且我想知道是否存在一种基于注释为每个对象生成XSD文件的方法。有这个工具吗? 喜欢的东西是 真棒 。有什么可以做的吗? 问题答案: 是的,您可以在JAXBContext上使用该方法: 您可以利用实现控制输出的位置: