在GitHub网站上,您将找到JAXB2
Basics项目,该项目提供了一组通用的
JAXB实用程序插件,其中包括4个应解决您要实现的目标的插件:
- 等于插件
- HashCode插件
- 二传手插件
- ToString插件
还有其他可用的插件,它们涵盖了
Java域对象的相似常见方面。
组态
从
XML Schema配置角度来看,您将添加引用,如下所示:
<?xml version="1.0"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:basic="http://jaxb2-commons.dev.java.net/basic" xmlns:equals="http://jaxb2-commons.dev.java.net/basic/equals" xmlns:hashCode="http://jaxb2-commons.dev.java.net/basic/hashCode" xmlns:toString="http://jaxb2-commons.dev.java.net/basic/toString" jaxb:extensionBindingPrefixes="basic equals hashCode toString"> <!-- ... --></xs:schema>
还有其他可用选项,例如定义在生成
equals( that )实现,
toString()实现等时应忽略的对象属性。
Java代码生成
从一个
Java角度来看,插件通常使生成的类实现
interface;例如,生成的包含
equals( that )实现的类将实现[Equals]
[6]接口。
插件使用的设计方法通常会产生两种实现方式:
- 简单/标准的实现,例如
equals( that )
方法(使用时Equals Plugin
)。 - 包括
locator
和strategy
参数的更复杂的实现,允许您实现自定义处理(如果需要)。对于这些,您将看到一个方法签名,例如:equals( thisLocator, thatLocator, that, strategy)
。
构建/运行时
从运行的角度来看,你必须包括JAXB2基本运行罐子,并提供选项参数,如:
-Xequals,
-XhashCode,或
-XtoString。从
Ant和提供了使用JAXB2
Basics的示例
Maven,如果您使用这两个示例执行构建,并且《JAXB2
Basics用户指南》中提供了更多与构建相关的详细信息。



