知识大全 用Spring、Hibernate和JBoss简易步骤
Posted 文件
篇首语:明日复明日,明日何其多!本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用Spring、Hibernate和JBoss简易步骤相关的知识,希望对你有一定的参考价值。
用Spring、Hibernate和JBoss简易步骤 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
这篇文章的目的不是为了提供所使用的工具或技术的详细信息 而是提供应用 MDA 技术的体验 请参阅 下载一节 获得示例应用程序的完整源代码 请参阅 参考资料 下载 AndroMDA 和 JBoss 它们是运行示例所需要的软件 开始 AndroMDA 使用 XML 元数据交换(XML Metadata Interchange XMI)文件格式的输出 几乎所有的建模工具都基于特定于平台的 cartridge 生成应用程序的源代码 针对这个示例的目的 我将采用特定于 Spring 和 Hibernate 的 cartridge 对于实际的 MDA 建模 我可以采用任何能导出(或保存)标准 XMI 的工具 AndroMDA 的主页上推荐了一些免费或几乎免费的工具 但是它没有限定自己只能与这些工具一起工作 有些 MDA 工具声称可以从统一建模语言(UML)的模型生成完整应用程序 有些则侧重于消除多数冗余的编码任务 AndroMDA 属于后一类 在应用程序中 我需要编写大约 行代码 所以可以说 AndroMDA 将为我生成 % 的代码 您将注意到 AndroMDA 采用 Maven(一个类似于 Ant 的开放源码工具)管理安装和一般性应用 AndroMDA 也可以和 Ant 一起使用 但是对于这个示例的目的 我建议采用 Maven 使用开放源码工具可以保证每个人都能使用这个示例 用例 示例应用程序包含三个用例 如图 所示 列出汽车(List Car) 添加汽车(Add Car)和删除汽车(Remove Car) 所有这些用例的都标记为 AndroMDA <<FrontEndUseCase>> 类型的 构造型(stereotype) 这告诉工具这个用例与最终用户相关 应当添加到用户界面 <<FrontEndApplication>> 构造型告诉 AndroMDA 该用例必须在应用程序的第一页上活动 > 活动图 建立了用例之后 下一步是画出每个用例的活动图 活动图 描述了每个用例内部发生的情况 重点是必须为每个活动图创建(并分配)一个控制器类 控制器类只是一个普通的类 它惟一的任务就是把来自 UI 的调用转发到业务逻辑层(即 应用程序的服务) 图 是 List Cars 用例的活动图 当用户请求汽车列表时 应用程序得到数据库中的所有汽车 图中第一个状态的 getAllCars() / defer 是对控制器类方法的引用 图中的过渡把 Collection 传递给下一状态 这将在应用程序界面上显示数据 在第二个状态之后 用户可以选择 Add Car 或 Remove Car 或者再次列出汽车 > 在图 中可以看到 Add Car 用例的活动图 它有点不同 在这个图中 最有意思的部分是从 Enter New Car 到 Store New Car 的过渡 过渡有一个信号 叫做 addNewCar 它有三个参数 使用这个信息 AndroMDA 可以知道 Web 界面需要从用户请求这些参数 在图的最后一个状态中 我用控制器类的 createCar() 方法把数据传递给应用程序的业务逻辑 > 第三个活动图与第二个类似 请参阅 下载一节 下载并研究整个模型 类图 类图 记录构成模型的所有类 在查看应用程序生成的文件时 可发现比类图中看到的更多的类和文件 幸运的是 这类支持类和文件 只有开发特定平台的 cartridge 的架构师和程序员才需要考虑(例如示例使用的 Spring 和 Hibernate 的 cartridge) 像 AndroMDA 这样的工具提供了 cartridge 并负责从它们生成文件 所以您可以把精力集中在应用程序建模上 在图 所示的图的底部 是 Car 类 它加上了 <<Entity>> 构造型的标记 这告诉 AndroMDA 它是一个 Hibernate 实体 使用 Hibernate cartridge 意味着不用担心应用程序持久性的处理 它是自动生成的 Cars 类加上了 <<Service>> 构造型的标记 这意味着它是业务逻辑层的一部分 业务逻辑用实体向其他层和同一层的类提供服务 在图的顶部是控制器 可以看到 应用程序需要三个控制器分别处理三个用例 > 使用 AndroMDA 设计了应用程序模模型之后 就可以开始使用 AndroMDA 了 对于入门者来说 可以用它检测模型是否有误 只要进入项目的根目录 并调用 maven 如果环境设置正确 Maven 会从 Internet 下载必要的包 生成源代码文件 并编译好一切 如果模型有错 那么会得到消息 在第一次启动 AndroMDA 之后 可以把调用变成 maven o 这样会使用现有的包 但偶尔也会提示包已经过时 手工编码 AndroMDA 生成了应用程序的许多文件 但是我仍然需要做些手工编码 我需要手工编码的四个文件如下 \\core\\src\\ \\CarsImpl java \\web\\src\\ \\ListCarsControllerImpl java \\web\\src\\ \\add\\AddCarsControllerImpl java \\web\\src\\ \\remove\\RemoveCarsControllerImpl java 在清单 中 我手工编码到 CarsImpl java 文件(它实现了 Services 类)中的行用 粗体 标记 清单 需要一些手工编码 public class CarsImpl extends dace cars CarsBase /** * @see dace cars Cars#getAllCars() */ protected java util Collection handleGetAllCars() throws java lang Exception return this getCarDao() findAll(); /** * @see dace cars Cars#removeCar(java lang String) */ protected void handleRemoveCar(java lang String id) throws java lang Exception this getCarDao() remove(Long valueOf(id)); /** * @see dace cars Cars#createCar(java lang String java lang String int) */ protected void handleCreateCar(java lang String make java lang String model int year) throws java lang Exception this getCarDao() create(model year make); 可以看到 我并不需要很多手工编码 清单 显示了我写入 ListCarsController java 文件的 getAllCars() 方法体中的内容 清单 getAllCars() 方法 try form setCars(this getCars() getAllCars()); catch (Exception ex) ex printStackTrace(); throw new RuntimeException(ex); 请 下载示例 自行查看其余的修改 配置 JBoss 我需要对 JBoss 的配置稍做修改 以便它能与 Hibernate 一起工作 首先 要检查是否启用了服务器的 HSQLDB TCP 连接 然后 编辑 [JBOSS_HOME]/server/[SERVER_NAME]/deploy/hsqldb ds xml 并取消两个元素的注释 其中一个属于连接 <connection url>jdbc:hsqldb:hsql://localhost: </connection url> 另一个属于 Mbean <mbean code= jboss jdbc HypersonicDatabase name= jboss:service=Hypersonic > <attribute name= Port > </attribute> <attribute name= Silent >true</attribute> <attribute name= Database >default</attribute> <attribute name= Trace >false</attribute> <attribute name= No_system_exit >true</attribute> </mbean> 部署应用程序 不管您是否相信 用 AndroMDA 构建应用程序就是这么简单!我要做的只是设计和建模应用程序 以及少量手工编码 然后就基本可以了 在可以部署示例之前 我需要为它创建数据库 要跟上这部分 请确保桌面上正在运行 JBoss 环境设置也配置正确(即 JBOSS_HOME) 然后转到自己项目的根目录 并输入 maven create schema 现在 在自己项目的根目录中输入以下命令 就可以部署应用程序了 maven deploy 假设一切正常 将得到一条 BUILD SUCCESSFUL 消息 现在应当可以浏览//localhost: /cars 使用应用程序了 应用程序架构 到最后才讨论应用程序架构看起来可能不合常规 但是对于这类开发来说这么做是有意义的 因为我使用 AndroMDA 和它的 cartridge 生成应用程序 所以在最后我应当看看整体效果 如果您还没有这么做 请 下载 示例项目并现在就研究它 像应用程序本身一样 架构也非常简单 \\core\\target\\ 目录包含持久性和业务逻辑类 Car 实体类是 Hibernate 实体 Cars 服务类是一个无状态会话 bean 所有必要的文件和接口都是生成的 UI 层可以在 \\web\\target\\ 目录中找到 应用程序的 Java 服务器页面(JSP)和级联样式表(CSS)文件以及控制器类都在那里 包含整个应用程序的文件位于 \\app\\target\\ 图 显示了应用程序在 Web 浏览器中看起来的效果 > 示例包 包含汽车管理应用程序的 UML 模型和实现类 所以只需要设置环境变量 并针对项目运行 AndroMDA 就可以看到它的工作方式 结束语 通过一个简单的示例 我演示了使用 AndroMDA 构建典型的 Web 企业应用程序 Spring Hibernate 应用程序的多数代码是由 Spring 和 Hibernate 的 cartridge 基于我的模型生成的 我只手工编码了几行代码 并且这些代码也毫不困难 显然 应用程序越复杂 开发起来就越不简单 包含成百上千个类的应用程序不会像这里演示的程序那样简单 但另一方面 通过使用 AndroMDA 或类似的 MDA 工具 可以把这类程序极大地简化 cha138/Article/program/Java/ky/201311/27999相关参考
知识大全 用struts+spring+hibernate组装web应用
其实就算用Java建造一个不是很烦琐的web应用程序也不是件轻松的事情当为一个应用程序建造一个构架时有许多事情需要考虑从高层来说开发者需要考虑怎样建立用户接口(userinterfaces)?在哪
知识大全 spring+hibernate+jbpm整合成功
终于搞定了在此感谢chenjin的指点 从日整合失败后这块就一直是我的心病我甚至都跑去了去发了一个帖这还是我第一次用英文问问题呢 最后的配置结果是 hibernatecfgxmljbpmcf
整合Hibernate3与JBOSS3.2.X 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 前
知识大全 Spring系列第2部分:当Hibernate遇上Spring
Spring系列第2部分:当Hibernate遇上Spring 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来
Spring整合HIbernate 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Spring整
Spring操作Hibernate更方便 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 软件系统
知识大全 Struts+Spring+Hibernate快速入门
Struts+Spring+Hibernate快速入门 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
知识大全 Struts&Spring&Hibernate面试总结
Struts&Spring&Hibernate面试总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
当Spring遇到Hibernate的时候 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! )介绍
Spring动态加载Hibernate映射文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb