`
javafenger
  • 浏览: 242351 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

Appfuse 增量式开发步骤

阅读更多

前置条件:

       假设用户已经按照《appfuse执行步骤》文档进行配置并操作,最后产生了一个叫uappweb应用。如果用户需要新增加功能,只要按照下面的步骤去操作就可以轻松地完成任务。


 

 

 

 

开发步骤:

1.         先在数据库里创建表。例如,student表。注意,表的名称的第二个字母最好不要大写。以免出现奇怪的问题(好像是hibernatebug)。

2.         把目录切换到appgen的工作目录,修改文件tables。把里面的内容先去掉,然后添加新的表名。例如,student

3.         appgen的工作目录下,运行Ant generate

运行结果:从数据库里读取表结构,并生成相关的strus表单、jsp文件、hibernatePOJO对象、DAOmanager对象、struts配置文件、spring配置文件、velocity的模板文件。

 

 

4.         转到uapp目录下,执行ant package-web生成WAR文件

这个过程里,

a)         会根据java文件生成hibernate的映射文件;

b)        compile-dao。编译dao目录下的java对象。

c)        package-dao。把dao目录下的classes打包成demo-dao.jar

d)        compile-service。编译service目录下的java对象。

e)         package-service。把service目录下的classes打包成demo-service.jar

f)         copy-resources。期间,会调用native2ascii Converting 1 file from D:projectappfusemyappfusedemowebWEB-INFclasses to D:projectappfusemyappfusedemobuildwebclasses

g)        generate.database.properties

h)        copy-web-files

i)          gen-forms。根据struts配置文件产生Form表单对象。

j)          compile-web。会编译action对象。    javac Compiling 40 source files to D:projectappfusemyappfusedemobuildwebclasses

k)        webdoclet。产生

                         i.              web.xml

                       ii.              uapp.tld

                      iii.              struts-config.xml

                     iv.              validation.xml

                       v.               

 

l)          package-web.。生成war包。

 

 

 

注意:我们经常要处理实体间的关系,如一对多,多对多。而appgen产生的POJO对象往往都太简单,没有处理这些复杂的关系。所以,我们需要手工地修改POJO对象,建立对象的关联。例如,在Parent对象里建立对Child的关联。

Parent.java对象里,增加

 

private Set children =new HashSet();

/**

       * @return Returns the booths.

       *

       *

       *  @hibernate.collection-one-to-many

       *  class="org.aos.exhibition.model.Child"

       *

       *  @hibernate.collection-key column="pid"

       *

       *  @hibernate.set

       *  name="children"

       *  table="child"

       *  inverse="true"

       *  sort="unsorted

       *  lazy="true"

       *  cascade="all"

       */

 

 

    public Set getChildren()

    {

           return this.children;

    }

      

       还有相关的addChildren(Child child)方法和getChildren()方法。

 

 

Child对象里,增加

private Parent parent;

 

 

/**

        * @return Returns the parent.

        *

        * @hibernate.many-to-one name="parent"

        * column="pid"

        * not-null="false"

        * cascade="all"

        * 

        */

       public Parent getParent() {

              return parent;

       }

 

 

       public void setParent(Parent parent) {

              this.parent = parent;

       }

最后,运行ant package-web产生相关的hibernate映射文件,并编译。

 

 

在编译的过程中,可能会有一些错误,例如, ActionForm包名的错误导致编译问题。

org.appfuse.model.Parent应该为org.aos.exhibition.model.Parent。需要自己修改相关的ActionForm,把包名更正。

 

 

1.         另外,我们经常会发现appgen给我们产生的jsp代码框架太简单,不能符合我们的要求,例如样式、布局等等。那么我们需要修改uappwebpages目录下的jsp文件。

2.         部署。执行ant deploy. 发布web应用到tomcatwebapps目录下。

3.         拷贝D:Tomcat50webappsdemoWEB-INFclassesorgappfusewebappactionLookupMethods.propertiesclassesorgaosexhibitionwebappaction 目录下。

4.         如果是中文版本,还需要把ApplicationResources_en.properties里面新增的内容拷贝到ApplicationResources_zh_CN.properties文件里面。

 

 

5.         使用链接:http://localhost:端口号/uapp/ 来启动web应用。如果在调试过程中发生net.sf.hibernate.HibernateException: Batch update row count wrong这样的异常,那需要重新运行Ant generate,从第三步开始作一遍



分享到:
评论

相关推荐

    Appfuse教程Appfuse开发.pdf

    Appfuse是由Matt Raible开发的一个指导性的入门级J2EE框架,它对如何集成流行的Spring、Hibernate、iBatis、struts、Xdoclet、junit 等基础框架给出了示范。提供了对Taperstry和JSF的支持。  AppFuse是一个集成了...

    appfuse新手上路

    新手使用appfuse2.0,启动步骤和配置过程

    appfuse

    使用appfuse2.0,下载过来的实例源码,没有jar包

    AppFuse

    本文以一个 J2EE 开发者的角度,借助一个简单的应用示例,在融合了个人经验的基础上介绍了如何用 ...通过阅读本文,读者不仅能够学会用 AppFuse 进行开发,而且能够充分体会到 AppFuse 提供的“快速开发”的优越性。

    Appfuse开发教程

    Appfuse开发教程

    建立项目原型骨架的步骤(最新版本appfuse)appfuse2.1.0-M2

    建立项目原型骨架的步骤(最新版本appfuse)appfuse2.1.0-M2 spring3.0 hibernte3.3 struts2.1.8

    APPFUSE工具研究.doc

    Appfuse是一个开源的工程应用,它集成了现在最流行的开发框架到该应用中,使用Maven可以很方便的开发和部署因为。也可以集成到现在流行的开源开发工具如eclipse,idea等。现在让我们简单的看看APPFUSE开发应用的简单...

    可直接使用的appfuse项目

    AppFuse是一个集成了众多当前最流行开源框架与工具(包括Hibernate、ibatis、Struts、Spring、DBUnit、Maven、Log4J、Struts Menu、Xdoclet、SiteMesh、OSCache、JUnit、JSTL等(现在还有lucene的,无敌了))于一身的...

    AppFuse入门文档(AppFuse与SpringMVC+mybatis整合)

    本文档详细描述了AppFuse与SpringMVC+mybatis整合的过程,只要你懂一些基本的eclipse操作和基本的maven命令,就可以在三分钟之内迅速的搭建出一个AppFuse的架构

    SSH学习及开发框架-appfuse

    appfuse 有struts2+hibernate+spring的整合 springmvc+hibernate+spring的整合 多模块,但模块都有 学习开发参考使用非常方便 可以到官方下载最新版的,我只是把自己下载的打包整理一下 注意哈,都是基于maven的...

    appfuse开发文档

    appfuse缩减开发时间,为程序员缩减大约85%的开发时间。本教程将带你进入appfuse的开发工作

    appfuse1.4-architecture

    06年时的appfuse,学习SSH架构的经典入门框架。相对比较老的资料,可以欣赏一下当时的架构,向牛人致敬

    appfuse苦学二天的步骤说明文件

    详细的说明了appfuse的下载、安装、配置、创建项目、编译、部署、运行、生成源码的全过程。如果有问题 qq: 52288572

    appfuse 学习笔记

    Appfuse 一个开放源码的项目和应用程序,帮助我们快速而高效的地开发。

    玩转appfuse--使用appfuse建设MVC网站

    使用appfuse进行网站开发,appfuse是关于Spring,Struts2,MVC3,Hibernate等技术的案例,可以加快建设网站。 1.文档说明。 2.可以执行的案例,亲测无误。

    Appfuse1.9至2.0.2

    主要是自己从网络上搜集的一些关于appfuse1.8.2-2.0.2的一些相关资料,间或有点自己试验的记录,还有点maven和quartz的东东,之前我主要是用1.8.2构建项目,感觉还不错,希望对想学习appfuse的人有些帮助.

    appfuse开发框架(myapp)使用说明文档

    对用appfuse 做快速开发进行说明 本框架推荐使用的Tomcat版本为5.0.*,JDK使用1.4。若使用JDK 1.5+,则要将Tomcat安装目录下的common\endorsed 里面两个JAR(xercesImpl.jar,xmlParserAPIs.jar)去掉。Ps:...

    AppFuse2.1所需包

    AppFuse2.1所需包,主要包括Spring MVC+Hibernate4 还有一些其它包!

Global site tag (gtag.js) - Google Analytics