<!--[if !mso]> <style> v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} </style> <![endif]-->
<!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning/> <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery> <w:ValidateAgainstSchemas/> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:SpaceForUL/> <w:BalanceSingleByteDoubleByteWidth/> <w:DoNotLeaveBackslashAlone/> <w:ULTrailSpace/> <w:DoNotExpandShiftReturn/> <w:AdjustLineHeightInTable/> <w:BreakWrappedTables/> <w:SnapToGridInCell/> <w:WrapTextWithPunct/> <w:UseAsianBreakRules/> <w:DontGrowAutofit/> <w:UseFELayout/> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--><!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman"; mso-ansi-language:#0400; mso-fareast-language:#0400; mso-bidi-language:#0400;} </style> <![endif]-->
AppFuse生成模块步骤:(从实体类生成)
1. 在dao目录下新建模块(自己的模块名称(包))
2. 在模块下新建model 包:
3. 在model 包下新建实体类(即为对应的实体类)
Ø
@struts.form include-all="true" extends="BaseForm"
让 appfuse 生成一个actionForm 并且用实体类的所有属性
@hibernate.class table="TBL_PM_VERSION_GROUP"
让 appfuse 生成 数据库表为TBL_PM_VERSION_GROUP的表
4. 在实体类中写自己的属性 (要有默认的构造函数)
实体类中必须要有让struts 验证的字段
例如
然后生成get/set方法,并重写hashCode.toString和equals方法
在set或get方法上添加 xdoclet 代码(注释)
语法如下:
Ø 生成主键(sequence)
@hibernate.id generator-class="sequence" type="java.lang.Long"
column="ID" length="12"
@hibernate.generator-paramname="sequence" value="GROUP_VERSION_SEQ"
generator-class 指定让怎么生成主键(oracle :sequence;sqlserver:identity….针对整形数字)
type 指定数据类型,
column 指定数据字段名称
length 指定长度
generator-param 针对oracle的sequence
name 指定generator-class
value 数据库中的 sequence (不用自己创建 ,hibernate 自动生成)
Ø 基本数据类型
@hibernate.property type="java.lang.Long" column="OBJECT_ID" length="12"
Type 指定数据库字段对应的数据类型,
Column 指定数据字段名称
Length 指定字段长度
Ø 对象类型
@hibernate.many-to-one column="COLUMN_ID"
Column 指定外键
例如
指定了versionColumn这个属性 是 VersionColumn 这个实体类的外键
5. 生成代码
在dos中进入工程下目录
输入ant install-detailed
Dos 出现
选择 pojo 回车
输入自己的实体类名称
如:Pm
输入自己的模块名称(一定要写对,不然很麻烦)
然后ant 就生成了在工程的src dao目录下以自己的模块名称的目录
模块名.dao 里面有个接口
模块名.dao.hibernate 里面是个实体类
Src service 目录下以自己的模块名称的目录
模块名.service 里面接口
模块名.service.impl 里面是实现类
Src web目录下以自己的模块名称的目录
模块名.webapp.action 实体类对应的 Action
在web目录下pages文件夹下自己的模块名下生成2个JSP文件
(在web commen目录下menu.jsp会自动生成你建的模块的连接,如果不想让访问可以去掉)
要在com.包名.dao.hibernate 的application-hibernate.xml 加上自己模块hibernate 的xml
部署生成好的工程
在工程下dos命令
Ant deploy-root
自动部署到web容器下
AppFuse生成工程
解压appfuse(环境变量要全)(在build.properties文件中必须指定web容器的路径(tomcat.home=E:\\JAVA\\resint3.022))
Dos 命令下进入解压目录 ant new
输入工程名称 (例 new)回车
输入要连接到哪个数据库(oracle) 回车
输入包名(com.zotn)
选择web框架(默认的是struts)
工程生成完成
相关推荐
在本篇“appfuse学习笔记(二)新建模块”中,我们将深入探讨AppFuse框架的模块创建过程。AppFuse是一个开源项目,它提供了一个快速开发Web应用的基础结构,旨在简化开发流程并提高代码质量。通过AppFuse,开发者...
AppFuse 可以根据选定的技术栈自动生成项目的目录结构、配置文件以及基本的CRUD操作,从而减少开发初期的设置工作。 描述中提到的是使用AppFuse 2.0版本的情况,这可能是指一个基于早期MVC架构的示例项目。在...
例如,创建一个新的实体类、对应的 DAO 接口和实现、Service 接口和实现,以及 Controller。 **7. 测试** AppFuse 鼓励单元测试和集成测试。项目中的 `src/test/java` 目录下包含了各种测试类,你可以根据需要添加...
### AppFuse与SpringMVC+MyBatis整合详解 ...通过上述步骤,开发者可以在极短的时间内搭建起一个基于SpringMVC+MyBatis的完整应用架构,并且能够利用AppFuse提供的强大功能来提高开发效率和代码质量。
【MAVEN 搭建APPFUSE】是一个关于使用Maven构建基于AppFuse的应用程序的教程。AppFuse是一个开源项目,旨在简化Web应用程序的开发,它提供了一个基础框架,可以帮助开发者快速启动新项目,整合了Spring、Hibernate、...
从Appfuse官方网站或其他可信的源下载Appfuse2的源码。解压到本地目录。 **步骤3:配置数据库连接** 在Appfuse2的src/main/resources目录下找到applicationContext-persistence.xml文件,配置Oracle数据库的连接...
2. 生成项目后,使用`mvn appfuse:full-source`命令初始化项目。这个命令会处理ant存在的问题,特别是Windows环境下遇到的问题,确保$USER_HOME/.m2/repository目录存在并包含正确的settings.xml文件。 3. 接下来,...
### AppFuse:加速J2EE项目开发 #### 一、简介与背景 AppFuse是一个用于启动J2EE项目的工具包,它提供了一种快速而简便的方法来构建基于Java的应用程序。该工具包由Matt Raible创建,他在网络开发领域拥有丰富的...
低XML节食的AppFuse 这是我为在#NoXML上的SpringOne 2GX 2015演讲创建的一个项目。 它包括以下内容: Spring XML到Java Spring Security配置到Java web.xml到WebApplicationInitializer Spring MVC到Java 迁移到...
【描述】:虽然描述中提到的是“NULL”,但我们可以从博文链接推测,这篇博客可能详细介绍了如何使用某个模板生成工具,类似于AppFuse的XDT功能。在实际开发中,这样的工具可以帮助开发者根据预定义的模板快速生成...
XDoclet则是一个用于Java源代码注解处理的工具,它能够根据类、接口或字段上的注解自动生成相应的配置文件,如Hibernate的映射文件、EJB的部署描述符等。这样可以避免手动编写这些配置文件,提高了开发效率和代码的...
由于appfuse主页的mvn自动生成项目架构代码无法显示,个中原因,你懂的~被墙了。所以在此制作了自动生成代码包,进入之后点击页面可以出现生成代码。
**玩转AppFuse:使用AppFuse建设MVC网站** AppFuse是一个开源项目,它提供了一个快速启动MVC(Model-View-Controller)Web应用程序开发的框架。基于Java,AppFuse集成了Spring、Struts2、Hibernate等流行的技术,极...
2. Hibernate ORM:包含Hibernate主库和相关模块,如Hibernate Tools(用于生成Java实体类和数据库表之间的映射文件)。 3. JDBC驱动:用于与特定数据库(如MySQL、Oracle、PostgreSQL等)进行通信的驱动。 4. JSTL...
生成AppFuse项目时,可以通过执行特定的Maven命令来创建不同类型的项目,比如基于Struts、Spring或Hibernate的项目。这允许开发者根据项目需求选择最适合的框架组合,进一步提升开发效率。 总的来说,AppFuse通过...
1. **下载或从CVS获取源码**:可以从官方站点下载最新版本的AppFuse,或者通过CVS命令直接检出项目源码。 2. **创建新应用**:运行Ant命令,指定应用名和数据库名,生成基础项目结构。 3. **配置数据库**:在生成...