新版本的AppFuse虽然实现的功能没有变,但实现方式的变化还是挺大的。
接下来让我们随着AppFuse的引导,一起学习最新的技术吧。
想要了解AppFuse的基本功能,我觉得最快的方法还是亲自做一做。以前的AppFuse有提供CRUD代码的自动生成功能,新版当然也不例外。
借用AppFuse网站中的例子,建立一个最简单的POJO。
importjavax.persistence.Entity;
importjavax.persistence.GenerationType;
importjavax.persistence.Id;
importjavax.persistence.GeneratedValue;
importjavax.persistence.Column;
importorg.apache.commons.lang.builder.EqualsBuilder;
importorg.apache.commons.lang.builder.HashCodeBuilder;
importorg.apache.commons.lang.builder.ToStringBuilder;
@Entity
publicclassPersonextendsBaseObject {
privatestaticfinallongserialVersionUID= -2267205427831321488L;
privateLongid;
privateStringfirstName;
privateStringlastName;
@Id@GeneratedValue(strategy = GenerationType.AUTO)
publicLong getId() {
returnid;
}
publicvoidsetId(Long id) {
this.id= id;
}
@Column(name="first_name", length=50)
publicString getFirstName() {
returnfirstName;
}
publicvoidsetFirstName(String firstName) {
this.firstName= firstName;
}
@Column(name="last_name", length=50)
publicString getLastName() {
returnlastName;
}
publicvoidsetLastName(String lastName) {
this.lastName= lastName;
}
/**
*@seejava.lang.Object#equals(Object)
*/
publicbooleanequals(Object object) {
if(!(objectinstanceofPerson)) {
returnfalse;
}
Person rhs = (Person) object;
returnnewEqualsBuilder().append(this.firstName, rhs.firstName)
.append(this.id, rhs.id).append(this.lastName, rhs.lastName)
.isEquals();
}
/**
*@seejava.lang.Object#hashCode()
*/
publicinthashCode() {
returnnewHashCodeBuilder(248915313, 1539783955)
.append(this.firstName).append(this.id).append(this.lastName)
.toHashCode();
}
/**
*@seejava.lang.Object#toString()
*/
publicString toString() {
returnnewToStringBuilder(this).append("lastName",this.lastName)
.append("id",this.id).append("firstName",this.firstName)
.toString();
}
}
|
接下来根据这个POJO生成CRUD代码。
在命令行下运行mvn appfuse:gen -Dentity=Person,这个POJO的CRUD代码即被生成,并自动添加到项目中。
接下来根据这个POJO生成数据表。
在命令行下运行mvn test-compile hibernate3:hbm2ddl。
然后找到/src/test/resources下的hibernate.cfg.xml文件,添加<mapping class="com.mycompany.app.model.Person"/>
最后运行mvn jetty:run-war,可以通过http://localhost:8080看到我们新添加的person了。
在/target/appfuse/generated-sources里有所有Person的自动生成的代码,通过查看这些文件,我们可以了解到AppFuse里实现一张表的CRUD需要多少个文件。熟悉AppFuse1.x的人也可以比较一下两个版本实现方式的区别。
下面就是/target/appfuse/generated-sources里的所有文件,我们来研究一下。
src/test/resources/Person-sample-data.xml 可以配置初始数据的文件,添加到sample-data.xml
src/test/resources/Person-web-tests.xml jsp的单元测试配置文件
src/test/java/com/mycompany/app/webapp/action/PersonActionTest.java Action的单元测试文件
src/main/resources/Person-generic-beans.xml 添加到applicationContext.xml
src/main/resources/PersonManager-bean.xml 无用
src/main/resources/Person-struts.xml 添加到src/main/resources/struts.xml中
src/main/resources/Person-ApplicationResources.properties 资源文件,添加到src/main/resources/ApplicationResources.properties
src/main/resources/com/mycompany/app/model/Person-validation.xml这个在1.x里是自动生成的,现在需要自己去改。
src/main/resources/com/mycompany/app/webapp/action/PersonAction-validation.xml Action的validation
src/main/java/com/mycompany/app/webapp/action/PersonAction.java Ation
src/main/webapp/WEB-INF/Person-struts-bean.xml 可以添加到applicationContext-struts.xml中,也可以不添加,区别就是struts.xml中Action的声明方式有点变化。
src/main/webapp/WEB-INF/Person-menu-config.xml 用于配置菜单项,添加到src/main/webapp/WEB-INF/menu-config.xml 菜单配置文件
src/main/webapp/common/Person-menu.jsp 菜单显示jsp
文章出自:http://blog.csdn.net/clearwater21cn/article/details/2748118
分享到:
相关推荐
使用appfuse2.0,下载过来的实例源码,没有jar包
已经调试好的ibatis版appfuse eclipse工程。帮助学习appfuse。表结构 和hibernate的相同。
本文以一个 J2EE 开发者的角度,借助一个简单的应用示例,在融合了个人经验的基础上介绍了如何用 AppFuse 一步步地构建 J2EE 项目。通过阅读本文,读者不仅能够学会用 AppFuse 进行开发,而且能够充分体会到 AppFuse...
本文档详细描述了AppFuse与SpringMVC+mybatis整合的过程,只要你懂一些基本的eclipse操作和基本的maven命令,就可以在三分钟之内迅速的搭建出一个AppFuse的架构
Appfuse是一个开源的工程应用,它集成了现在最流行的开发框架到该应用中,使用Maven可以很方便的开发和部署因为。也可以集成到现在流行的开源开发工具如eclipse,idea等。现在让我们简单的看看APPFUSE开发应用的简单...
06年时的appfuse,学习SSH架构的经典入门框架。相对比较老的资料,可以欣赏一下当时的架构,向牛人致敬
AppFuse是一个集成了众多当前最流行开源框架与工具(包括Hibernate、ibatis、Struts、Spring、DBUnit、Maven、Log4J、Struts Menu、Xdoclet、SiteMesh、OSCache、JUnit、JSTL等(现在还有lucene的,无敌了))于一身的...
主要是自己从网络上搜集的一些关于appfuse1.8.2-2.0.2的一些相关资料,间或有点自己试验的记录,还有点maven和quartz的东东,之前我主要是用1.8.2构建项目,感觉还不错,希望对想学习appfuse的人有些帮助.
新手使用appfuse2.0,启动步骤和配置过程
AppFuse2.1所需包,主要包括Spring MVC+Hibernate4 还有一些其它包!
Appfuse 一个开放源码的项目和应用程序,帮助我们快速而高效的地开发。
Appfuse是由Matt Raible开发的一个指导性的入门级J2EE框架,它对如何集成流行的Spring、Hibernate、iBatis、struts、Xdoclet、junit 等基础框架给出了示范。提供了对Taperstry和JSF的支持
NULL 博文链接:https://savagegarden.iteye.com/blog/427169
Appfuse框架解析,包括登陆验证,执行顺序,加载策略等。
基于AppFuse框架的B2C电子商务系统研究与实现
建立项目原型骨架的步骤(最新版本appfuse)appfuse2.1.0-M2 spring3.0 hibernte3.3 struts2.1.8
appfuse 有struts2+hibernate+spring的整合 springmvc+hibernate+spring的整合 多模块,但模块都有 学习开发参考使用非常方便 可以到官方下载最新版的,我只是把自己下载的打包整理一下 注意哈,都是基于maven的...
代码自动生成工具appfuse的中文使用手册
AppFuse(3)AppFuse(3)AppFuse(3)AppFuse(3)