appfuse简介

发布时间:2025-12-09 20:05:08 浏览次数:4

1 释名

app代表application,fuse意思是“融合”。(引自http://wl1985.javaeye.com/blog/149259) 

2 用它能做什么

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

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

3 作者

Matt Raible,当今开源世界一个比较活跃的开发者,他是AppFuse、Struts Menu的作者,也是XDoclet、DisplayTag等一些著名开源项目的积极参与者,《Hibernate In Action》的作者就在感谢的名单里面提到他,XDoclet的下载版本中所带的Hibernate标签部分的例子就是他写的,他还是2004年Apache技术年会的主讲人之一。

4 架构

  • persistence层

这个层面中,appfuse首先提供了一个功能非常抽象的interface DAO,试图覆盖普通的CRUD操作,提供的方法都是针对Object进行操作,伴随这个interface,还提供了一个hibernate版本的i实现类BaseDAOHibernate。

  • logic层

这个层面需要解决的重头问题是事务,可以担当这个层面重任的技术有很多,如ejb中的session bean,但appfuse选择了springframework。appfuse在这个层面同样提供了巨抽象的一个interface,Manager,伴随这个interface,还提供了一个具体的实现类 BaseManager。

  • web层

这个层面appfuse集成了几种当前常用的framework,struts是appfuse的首选,appfuse提供了一个BaseAction,其中提供了一些便利的方法,如从spring的applicationContext中根据XXXManager的name拿到XXXManager,从session拿到当前的user信息,以及对errrorMessage的处理,需要提及的是里面的execute方法,根据request中的method这个parameter去将request dispatch到相应的handler,具体细节可参考struts中的LookupDispatchAction(这个class好象是从struts-1.1后才有的)。

appfuse给我们提供了一个完整的架构,我们只需要向这个架构中填料就可以了,下面大概阐述如何利用appfuse进行实际的业务开发。如appfuse的作者在wiki中推荐的那样,我们可以按照从后向前的顺序进行开发:

  • 分析业务模型,建立model
  • 建立dao
  • 建立manage
  • 开发action和page


appfuse中提供了appgen代码生成工具,用来根据appfuse设定好的templet code,利用xdoclet自动生成各个层面的代码,足显了xdoclet的强大和无处不在。

(以上是根据网上搜集的文章拼接而成)

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477