开始学习在 Java™ 平台上使用诸如 Spring、Hibernate 或 MySQL 之类的开放源码工具时可能非常困难。再加上 Ant 或 Maven,以及与 DWR 一起的小 Ajax,还有 Web 框架 —— 即 JSF,我们必须睁大眼睛盯着如何配置应用程序。AppFuse 减少了集成开放源码项目的痛苦。它可以把测试变成一等公民,让我们可以从数据库表生成整个 UI,并使用 XFire 来支持 Web 服务。另外,AppFuse 的社区也非常健全,这是不同 Web 框架用户可以一起融洽相处的地方之一。

AppFuse 是一个开放源码的项目和应用程序,它使用了在 Java 平台上构建的开放源码工具来帮助我们快速而高效地开发 Web 应用程序。我最初开发它是为了减少在为客户构建新 Web 应用程序时所花费的那些不必要的时间。从核心上来说,AppFuse 是一个项目骨架,类似于通过向导创建新 Web 项目时 IDE 所创建的东西。当我们使用 AppFuse 创建一个项目时,它会提示我们将使用开放源码框架,然后才创建项目。它使用 Ant 来驱动测试、代码生成、编译和部署。它提供了目录和包结构,以及开发基于 Java 语言的 Web 应用程序所需要的库。

与大部分 “new project” 向导不同,AppFuse 创建的项目从最开始就包含很多类和文件。这些文件用来实现特性,不过它们同时也会在您开发应用程序时被用作示例。通过使用 AppFuse 启动新项目,我们通常可以减少一到两周的开发时间。我们不用担心如何将开放源码框架配置在一起,因为这都已经完成了。我们的项目都已提前配置来与数据库进行交互,它会部署到应用服务器上,并对用户进行认证。我们不必实现安全特性,因为这都早已集成了。

当我最初开发 AppFuse 时,它只支持 Struts 和 Hibernate。经过几年的努力,我发现了比 Struts 更好的 Web 框架,因此我还添加了为这些 Web 框架使用的选项。现在,AppFuse 可以支持 Hibernate 或 iBATIS 作为持久性框架。对于 Web 框架来说,我们可以使用 JavaServer Faces(JSF)、Spring MVC、Struts、Tapestry 或 WebWork。

AppFuse 提供了很多应用程序需要的一些特性,包括:

  • 认证和授权
  • 用户管理
  • Remember Me(这会保存您的登录信息,这样就不用每次都再进行登录了)
  • 密码提醒
  • 登记和注册
  • SSL 转换
  • E-mail
  • URL 重写
  • 皮肤
  • 页面修饰
  • 模板化布局
  • 文件上载

这种 “开箱即用” 的功能是 AppFuse 与其他 CRUD 代 框架的区别之一(CRUD 取自创建、检索、更新删除 几个操作的英文首字母),包括 Ruby on Rails、Trails 和 Grails。上面提到的这些框架,以及 AppFuse,都让我们可以从数据库表或现有的模型对象中生成主页/细节页。

使用 AppFuse 的七个理由相关推荐

  1. 使用 AppFuse 的七个理由(中英文两版)

    使用 AppFuse 的七个理由 学习 Java 开放源码工具 -- 并使用这些工具提高生产效率 文档选项 <script language="JavaScript" typ ...

  2. 使用 AppFuse 的七个理由之二

    理由 1:测试 测试是在软件开发项目中很少被给予足够信任的一个环节.注意我并不是说在软件开发的一些刊物中没有得到足够的信任!很多文章和案例研究都给出了测试优先的开发方式和足够的测试覆盖面以提高软件的质 ...

  3. [转]不找情人的七种理由(献给已婚的男人)

    献给已婚的男人 不找情人的七种理由  好像有个曾一度风靡的短信,"结婚是错误,离婚是觉悟,婚外恋是醒悟,再婚是执迷不悟,没有情人是废物,情人太多是动物."咱不怕犯错误,可没办法不 ...

  4. 申请清华大学计算机类的理由,青年人选择清华的七个理由

    原标题:青年人选择清华的七个理由 清华园开,八方汇才.清华园的大家庭迎来了新的学子们. 有人说,选择清华可以有一百种理由.于是,针对这个看似伪命题的选题.我们找了七位清华园的新主人,听他们诉说自己的故 ...

  5. 沈阳房价还要涨的七个理由

    沈阳房价目前合不合理,以后是进一步上涨还是会回落,是广大购房者非常关注的问题,笔者认为沈阳的房价还会继续上涨,理由有七点. 1.随着沈阳的大市规划,城市建设进程会进一步加快.大学的扩招和户籍政策的逐步 ...

  6. 软件测试人员该学习 Python 的七个理由

    对于一个软件测试工程师来说,选哪一门语言来入手编程一直是件非常纠结的事情,当然立志做一辈子功能测试的人除外. 值得庆幸的是,专门介绍软件,工具及网站服务的技术Blog上CarlCheo绘制了一张图表, ...

  7. 电子邮件服务器的ip地址_推荐Siteground主机服务器的七个理由

    点击上方 蓝字关注我们! 废话不多说,开篇图先带你回顾一下外贸建站四要素: 图非原创纯借鉴 想要在建站前选到合适的主机服务器,要搞明白这几个概念:物理服务器.VPS.虚拟服务器.云服务器.物理服务器就 ...

  8. 【转】 使用 AppFuse 快速构建 J2EE 应用

    文档选项 未显示需要 JavaScript 的文档选项 打印本页 将此页作为电子邮件发送 样例代码 级别: 中级 沈 锐 (shenrui@cn.ibm.com), 软件工程师, IBM CSDL 2 ...

  9. 使用 AppFuse 快速构建 J2EE 应用

    本文以一个 J2EE 开发者的角度,借助一个简单的应用示例,在融合了个人经验的基础上介绍了如何用 AppFuse 一步步地构建 J2EE 项目.通过阅读本文,读者不仅能够学会用 AppFuse 进行开 ...

最新文章

  1. java基本数据类型自动转包装类_java基本数据类型和包装类相互转换
  2. 图论(四)------非负权有向图的单源最短路径问题,Dijkstra算法
  3. Apache2 httpd.conf 配置详解(一)
  4. 个人开源作品,即时通讯App支持文本、语音、图片聊天
  5. mysql 线程池源码模块_易语言Mysql线程池2.0模块源码
  6. 排序二叉树BST(binary search/sort tree)
  7. hdu 1209 clocks wrong answer 我的错误代码(没审好题唉,角度一样后,还要按小时排序。...
  8. 解决Linux下使用sqlplus不能使用上下键,退格键
  9. 小米机器狗CyberDog
  10. C++11中shared_ptr智能指针用法
  11. centos6.9去掉网关地址后依然可以ping通外网
  12. xcode 调试提示
  13. Android系统在超级终端下必会的命令大全(adb shell命令大全)
  14. Spring常用注解含义
  15. Vivado官网下载
  16. Android日历控件方法,Android日历控件的实现方法
  17. Linux文件管理 | Liunx 常用命令
  18. 【数据压缩】实验:H.264文件分析
  19. c语言软件中ovr怎么取消,OVR Toolkit
  20. 优盘安装红帽linux系统,从U盘安装 redhat linux 6.0及centos 6.4

热门文章

  1. Java并发框架——AQS之怎样使用AQS构建同步器
  2. UVA10780:Again Prime? No Time(数论)
  3. 用户界面框架jQuery EasyUI示例大全之DataGrid(1/4)
  4. JPA学习(6)JPQL
  5. 中端存储不能承受之重
  6. Silverlight C# 游戏开发:Flyer01开发一个有趣的游戏
  7. java 项目初始化一个定时任务_elastic-job 分布式定时任务框架 在 SpringBoot 中如何使用(一)初始化任务并定时执行...
  8. js作用域及作用域链概念理解及使用
  9. QT 信号与槽 最简单例子
  10. 高精度模板 c++/类封装