为java应用程序生成存根

为java应用程序生成存根,java,xml,Java,Xml,我正在使用JPA2和Hibernate4.0构建一个Java应用程序 我有一个XML文件,描述API作为输入或作为输出的复杂数据类型。下面是示例。我想使用这个XML生成java类(或jar),我可以在API中使用这些类作为参数和返回类型。我还想把这个jar放在SpringMVC驱动的前端,这样我就可以使用这些类型来附加数据来调用我的API。如果需要,我可以更改XML的格式。 我可以使用什么工具进行此操作。我编写这个XML不是为了在API或任何其他代码中提及,该工具应该允许我创建存根,然后忘记XM

我正在使用JPA2和Hibernate4.0构建一个Java应用程序 我有一个XML文件,描述API作为输入或作为输出的复杂数据类型。下面是示例。我想使用这个XML生成java类(或jar),我可以在API中使用这些类作为参数和返回类型。我还想把这个jar放在SpringMVC驱动的前端,这样我就可以使用这些类型来附加数据来调用我的API。如果需要,我可以更改XML的格式。 我可以使用什么工具进行此操作。我编写这个XML不是为了在API或任何其他代码中提及,该工具应该允许我创建存根,然后忘记XML

  <documentation target="loginValidation" >
    Returns the result of login validation.
    Will return LoginValidationResults object if login correct, else a null object.
  </documentation>  
  <operation name="loginValidation">
    <input target="LoginValidationArgs" />
    <output target="LoginValidationResults" />
  </operation>

  <structure name="LoginValidationArgs">
    <member name="userName" target="String" />
    <member name="hashedPassword" target="String" />
    <member name="schoolID" target="PositiveInteger" />
  </structure>
  <required target="LoginValidationArgs$schoolID" />
  <required target="LoginValidationArgs$userName" />
  <required target="LoginValidationArgs$hashedPassword" />

  <structure name="LoginValidationResults">
    <member name="userID" target="PositiveInteger" />
    <member name="userType" target="String" />
    <member name="userDisplayName" target="String" />
    <member name="schoolID" target="Long" />
  </structure>
  <required target="LoginValidationResults$schoolID" />
  <required target="LoginValidationResults$userID" />
  <required target="LoginValidationResults$userType" />
  <required target="LoginValidationResults$userName" />

返回登录验证的结果。
如果登录正确,将返回LoginValidationResults对象,否则返回null对象。

看看我对一个类似但不重复的问题的回答


答案是使用Eclipse的M2T-JET。这就是它的设计和构建目的。

使用jaxb将XSD文件转换为java@invariant:这些不是XSD文件谢谢,我正在查看M2T-JET。这听起来像是对我的参数/返回数据类型的一种很好的表示吗?我会对您需要输入到源代码中的信息进行建模(考虑填充空白),因为这将便于模板化(这是实现模型,只包含不同类的内容)。如果您有一个不同的模型,可能是一个更高级别的或体系结构的模型,那么我会在调用JET之前将该模型转换为第一个“实现”模型。所以我把这个问题转回来问你。这些是您希望在生成的代码中看到的字符串吗?如果是这样,那么您可能已经正确地对其进行了建模。是的,这就是我希望在API中使用的结束参数/返回类型。