XBean 与 Spring 2 的比较
常见问题解答 > 配置 > XBean 与 Spring 2 的比较
Spring 2.0 引入了在 spring.xml 中处理自定义 XML 语言的能力。这是我们在 Spring 1.x 时代为 XBean 开发的东西。
Spring 的钩子要求组件开发者编写自己的 XML 处理程序,处理 DOM 等。在 ActiveMQ Classic、Jencks、Jetty、ServiceMix、XFire 等各种项目中,我们不想花费时间手工制作 XML 代码的解析。因此 XBean 用于自动创建解析代码以及 XSD 和参考文档,说明如何在自定义 XML 语言中配置这些服务。
因此您可以将 XBean 视为在 Spring XML 文件中工作的 JAXB2 工具
支持的 Spring 版本
因此您可以在 Spring 1.x 或 Spring 2.x 中使用 XBean(对于 Spring 2.0 支持,您需要 XBean 2.6 或更高版本以及 ActiveMQ Classic 的匹配版本)。
如果您使用的是 Spring 1.x,请使用 Spring ApplicationContext 类的 XBean 版本。在 Spring 2.0 中,XBean 功能在常规 spring.xml 文件中运行良好。使用 XBean ApplicationContext 文件和 Spring 文件之间的主要区别在于 Spring 文件强制执行验证,因此您的 XML 必须包含所有 XSD 信息(这对于 IDE 代码补全很方便),而 XBean 配置文件则不需要。
示例
这是一个使用 ActiveMQ Classic 的 XML 在其中配置代理、目标和连接工厂的常规 Spring 2 XML 文件
这是一个使用 Spring 2 和 XSD 验证(因此有代码补全)配置 ActiveMQ Classic、ActiveMQ Classic 资源适配器和 Jencks 的 Spring 2 XML 示例
http://svn.codehaus.org/jencks/trunk/jencks/src/test/resources/org/jencks/xbean/xbean-validating.xml