本文以一个 J2EE 开发者的角度,借助一个简单的应用示例,在融合了个人经验的基础上介绍了如何用 AppFuse 一步步地构建 J2EE 项目。通过阅读本文,读者不仅能够学会用 AppFuse 进行开发,而且能够充分体会到 AppFuse 提供的“快速开发”的优越性。
<!--START RESERVED FOR FUTURE USE INCLUDE FILES--><!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters --><!--END RESERVED FOR FUTURE USE INCLUDE FILES-->
关于 AppFuse 的特性、架构以及为什么要使用 AppFuse,AppFuse 的创始人 Matt Raible 在 《使用 AppFuse 的七个理由》一文中已经做了很详尽的阐述,这里就不再赘言。本文将着力于实践,即如何运用 AppFuse 开发 J2EE 应用。
使用 AppFuse,你需要对 Ant 有一些基本的了解,比如什么叫 target、什么是 build.xml 以及如何运行 Ant,等等。如果你现在还不知道 Ant 是什么,就需要找些相关资料学习一下。下表列出了本文中用到的也是较为常用的 AppFuse 的 target:
表 1. Ant 中常用的 AppFuse target
target
说明
所在文件
new |
这个 target 是使用 AppFuse 必须要用到的,它用来在 AppFuse 同级的目录下创建一个新项目。创建过程是交互式的,会让用户输入项目名称、数据库名称以及根包路径。 |
AppFuse 安装目录下的 build.xml |
setup |
用于初始化一个新的项目,它包含了从数据库创建、Tomcat 设置到 war 文件的生成和部署等一系列操作。 |
项目根目录下的 build.xml |
deploy |
如果你修改的代码不涉及到数据库的更改,那么可以使用这个 target,因为它只负责生成并重新部署 war 包。 |
项目根目录下的 build.xml |
setup-db |
如果你只是要对数据库进行更改,使用这个 target。比如,重新创建数据库,重新加载样本数据等操作。 |
项目根目录下的 build.xml |
install |
AppGen 的 target。如果你不希望使用 AppGen 帮你生成 dao 类和 service 类以及其他的代码,就使用这个 target。 |
extras/appgen 目录下的 build.xml |
install-detailed |
AppGen 的 target。如果你希望使用 AppGen 帮你生成所有代码,就使用这个 target。 |
extras/appgen 目录下的 build.xml |
本文将按如下顺序展开叙述:
- 示例介绍
- 搭建开发环境
- 新建项目
- 创建数据库表
- 用 AppGen 生成代码
- 根据项目需求调整代码
- 其他功能
- 语言国际化
- 页面布局和样式
- 系统安全
- 事务控制
- 日志
- 邮件
- 缓存
示例介绍
本文的示例实现对员工信息的增删查改等基本功能。用 Tapestry 实现表示层,用 Hibernate 开发持久层,用 Spring 提供事务控制等跨模块服务,并用 Acegi 进行安全管理。本示例只用到一个域模型:Employee,下面是它的 UML 图。
图 1. Employee UML 图
搭建开发环境
本文的代码开发平台采用的是 Windows 操作系统,因此,以下环境设置也是针对 Windows 操作系统的。
- 从 AppFuse 下载页面 下载 appfuse-tapestry-1.9.3-src.zip,并解压缩在任意目录下。这个 zip 已经定制了使用 Tapestry 作为表现层的实现框架,因而使用起来较为直接。
- 从 http://java.sun.com/ 下载最新的 JDK,并安装或解压缩到任意目录下。本文采用 JDK 1.5.0。设置环境变量 JAVA_HOME 指向 JDK 所在的目录,并在 PATH 中添加 %JAVA_HOME%/bin。
- 从 http://jakarta.apache.org/tomcat 下载最新版的 Tomcat,并安装或解压缩到任意目录下。本文采用 Tomcat 5.5.17。设置环境变量 CATALINA_HOME 指向 Tomcat 的安装目录。
- 从 http://ant.apache.org/下载最新版的 Ant,并解压缩到任意目录下。AppFuse 要求的最低版本是 1.6.2,本文采用的是 1.6.5。设置 ANT_HOME 指向 Ant 所在的目录,并在 PATH 中添加 %ANT_HOME%/bin。另外,要拷贝一个 junit.jar 到 %ANT_HOME%/lib 下,如果 lib 下没有 junit.jar,AppFuse 的脚本在运行时会给出警告信息。junit.jar 可以从 http://www.junit.org/ 获得,也可以从 %AppFuse%/lib/junit3.8.1 目录下获得。
- 从 http://www.mysql.com/ 下载最新版的 MySQL,并安装或解压缩到任意目录下。本文采用的是 5.0。
- 从 http://www.eclipse.org/ 下载 Eclipse 3.1 或 3.2,安装到任意目录下。
AppFuse 的 Ant 脚本可以在命令行中运行,也可以在 Eclipse 里运行。有关如何在 Eclipse 里执行 Ant 脚本,请参考《用Eclipse开发AppFuse应用》。到此,我们已经为 AppFuse 开发应用准备好了环境,下面让我们开始使用 AppFuse 创建项目。
分享到:
相关推荐
AppFuse 是一个开源项目,旨在帮助开发者快速构建J2EE应用程序。它提供了一种模板化的方法,通过结合现有的最佳实践和流行的技术栈,如Spring、Hibernate和Tapestry,简化了开发过程。本文将深入探讨如何利用AppFuse...
**AppFuse 1.x 快速构建 J2EE 应用** AppFuse 是一个开源项目,旨在简化 J2EE 应用程序的开发过程。它提供了一种模板化的方法来创建新的 Web 应用,结合了多种流行的技术和最佳实践。在 AppFuse 1.x 版本中,开发者...
本文将详细介绍如何利用App Fuse来快速构建J2EE项目,并通过一个具体的例子——一个简单的员工管理系统——来演示整个流程。 #### 二、AppFuse简介 AppFuse是一个用于构建基于Web的应用程序的开源框架。它集成了多...
完成这些步骤后,开发者就可以基于 AppFuse 快速构建自己的 J2EE 应用,利用其提供的各种框架和技术,高效地开发出高质量的软件产品。AppFuse 不仅是一个框架,更是一个学习 J2EE 技术的良好起点。
AppFuse是一个用于启动J2EE项目的工具包,它提供了一种快速而简便的方法来构建基于Java的应用程序。该工具包由Matt Raible创建,他在网络开发领域拥有丰富的经验,并且是多个开源项目的贡献者,包括Roller Weblogger...
本文将详细介绍如何使用 AppFuse 来构建一个 J2EE 应用,同时提供了一个简单的员工信息管理系统作为示例。 1.1 使用 AppFuse 的关键目标 在 Ant 构建文件中,AppFuse 提供了一些核心目标来简化项目构建流程。例如...
总的来说,AppFuse是一个强大的开发工具,它通过集成多种成熟技术,为开发者提供了一个快速构建J2EE应用的起点。学习AppFuse不仅可以提高开发效率,还能深入了解和掌握各种框架和技术的集成与使用。通过深入阅读和...
通过学习和使用AppFuse,开发者能够快速掌握现代Java Web开发的关键技术,如Maven构建、Spring框架、Hibernate ORM,以及Web层和安全的最佳实践。这个过程中,理解和应用POM.xml、依赖注入、对象关系映射、MVC模式、...
AppFuse 这样的框架为开发者提供了便捷的起点,它简化了集成多种技术的复杂性,使得开发者能够快速搭建一个具备基础功能的J2EE应用程序。通过研究和使用 AppFuse,开发者不仅可以学习到如何整合这些流行的技术,还能...
#### 四、创建简单AppFuse应用使用Maven Archetype - **步骤简述**: - 使用Maven Archetype来快速创建AppFuse项目结构。 - 通过单个命令即可构建、部署和运行应用,无需预先安装Web容器(如Tomcat),因为...
- **丰富的示例**:提供了多个演示和视频教程,方便学习和理解如何使用 AppFuse 构建 Web 应用。 - **详细文档**:拥有详尽的 FAQ 和参考指南,覆盖了常见的问题和解决方案。 - **全面的框架支持**:支持多种主流的 ...
- **AppFuse**:AppFuse是一个快速开发框架,集成了多个流行开源组件,如Hibernate、Spring等,用于快速构建Web应用。 - **XML、JSON**:XML和JSON是数据交换格式,常用于前后端通信。 - **其他技术**:如VML、...
AppFuse 是一个集成了一系列流行的开源框架和技术的 Web 开发框架,旨在帮助 J2EE 开发者更高效地构建 Web 应用程序。它包含了诸如 Hibernate、ibatis、Struts、Spring、DBUnit、Ant、Log4J、Struts Menu、Xdoclet、...
通过以上步骤,开发者可以从零开始构建一个完整的基于 AppFuse 的 Web 应用,涵盖从数据模型到用户界面的所有方面。这样的过程不仅有助于理解 AppFuse 的工作原理,还能够加深对相关技术栈的理解。
这个项目提供了一个基础的框架,它结合了多个流行的Java EE(现称为Jakarta EE)框架,使得开发者可以快速地构建应用,而无需从零开始搭建整个技术栈。AppFuse Light的版本1.8.2包含了作者对这些框架集成的精心设计...
J2EE程序员在当前的软件开发环境中扮演着重要的角色,他们需要掌握一系列广泛的技术和框架,以便能够构建高效、可扩展的企业级应用。以下是一些关键领域的详细说明: 1. **Web开发框架**:Web开发框架如JSF、Struts...