本文向大家介绍Hibernate cartridge,可能好多人还不了解Hibernate cartridge,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。
这篇文章的目的不是为了提供所使用的工具或技术的详细信息,而是提供应用 MDA 技术的体验。请参阅 下载一节 获得示例应用程序的完整源代码。请参阅 参考资料 下载 AndroMDA 和 JBoss,它们是运行示例所需要的软件。
开始
AndroMDA 使用 XML 元数据交换(XML Metadata Interchange,XMI)文件格式的输出,几乎所有的建模工具都基于特定于平台的 cartridge 生成应用程序的源代码。针对这个示例的目的,我将采用特定于 Spring 和 Hibernate cartridge。对于实际的 MDA 建模,我可以采用任何能导出(或保存)标准 XMI 的工具。AndroMDA 的主页上推荐了一些免费或几乎免费的工具,但是它没有限定自己只能与这些工具一起工作。
有些 MDA 工具声称可以从统一建模语言(UML)的模型生成完整应用程序,有些则侧重于消除多数冗余的编码任务。AndroMDA 属于后一类。在应用程序中,我需要编写大约 10 行代码,所以可以说 AndroMDA 将为我生成 95% 的代码。
您将注意到 AndroMDA 采用 Maven(一个类似于 Ant 的开放源码工具)管理安装和一般性应用。AndroMDA 也可以和 Ant 一起使用,但是对于这个示例的目的,我建议采用 Maven。使用开放源码工具可以保证每个人都能使用这个示例。
类图
类图 记录构成模型的所有类。在查看应用程序生成的文件时,可发现比类图中看到的更多的类和文件。幸运的是,这类支持类和文件,只有开发特定平台的 cartridge 的架构师和程序员才需要考虑(例如示例使用的 Spring 和 Hibernate 的 cartridge)。像 AndroMDA 这样的工具提供了 cartridge,并负责从它们生成文件,所以您可以把精力集中在应用程序建模上。
它加上了 <<Entity>> 构造型的标记,这告诉 AndroMDA 它是一个 Hibernate 实体。使用 Hibernate cartridge 意味着不用担心应用程序持久性的处理:它是自动生成的。Cars 类加上了 <<Service>> 构造型的标记。这意味着它是业务逻辑层的一部分,业务逻辑用实体向其他层和同一层的类提供服务。在图的顶部是控制器。可以看到,应用程序需要三个控制器分别处理三个用例。
【编辑推荐】