Appfuse是Matt Raible 开发的一个指导性的入门级J2EE框架,它对如何集成流行的Spring、Hibernate、ibatis、struts、Xdcolet、junit 等基础框架给出了示范,最新的1.7版更是提供了对Taperstry和JSF的支持。在持久层,AppFuse采用了Hibernate O/R映射工具(http://www.hibernate.org);在容器方面,它采用了Spring Framework(http://www.springframework.org)。用户可以自由选择Struts、Spring/MVC, Webwork,Taperstry、JSF这几个web框架。采用TDD的开发方式,使用JUnit测试各层,甚至测试 jsp 输出的 w/o 错误。为了简化开发,预定义好了一套目录结构、基类、用来创建数据库、配置Tomcat、测试部署应用的 Ant 任务,帮助快速自动生成源程序和自动维护部分配置文件。
1.到Maven官网
http://maven.apache.org/下载其最新版本,解压后设置好环境变量。
2.创建一个存放appfuse项目的文件夹。启动dos窗口,并进入刚刚的文件夹。运行创建骨架的命令,不同的框架选用不同的命令,以下是Struts2 Basic的创建命令:
2.创建一个存放appfuse项目的文件夹。启动dos窗口,并进入刚刚的文件夹。运行创建骨架的命令,不同的框架选用不同的命令,以下是Struts2 Basic的创建命令:
- mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-struts -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app -DartifactId=myproject
说明:DartifactId:项目名称 DgroupId:包结构。更多命令请参考: http://appfuse.org/display/APF/AppFuse+QuickStart
3.运行项目。在dos窗口进入项目文件夹,运行
- mvn jetty:run-war
,然后就可以在浏览器中运行
http://localhost:8080
4.运行
4.运行
- mvn war:inplace
将war中的文件放入 自己的项目的webapp目录 。
5.运行
5.运行
- mvn appfuse:full-source
将org.appfuse的源文件都copy过来了。
6.运行
6.运行
- mvn install eclipse:eclipse
生成eclipse的项目文件 当然也可以用idea netbeans。
7.增量式开发,增加一个员工列表项。
7.1首先在往数据库建立一张表,
7.增量式开发,增加一个员工列表项。
7.1首先在往数据库建立一张表,
- CREATE TABLE `Employee` (
- `id` bigint(20) NOT NULL auto_increment,
- `code` varchar(10) NOT NULL,
- `dept` varchar(50) NOT NULL,
- `name` varchar(20) NOT NULL,
- `status` varchar(10) NOT NULL,
- `telephone` varchar(20) default NULL,
- `title` varchar(50) NOT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
7.2运行
- mvn appfuse:gen-model
由表生成model
7.3查看生成Employee.java的原代码,原来model中有两个ID的生成策略,如下:
7.3查看生成Employee.java的原代码,原来model中有两个ID的生成策略,如下:
- @Id @GeneratedValue(strategy=IDENTITY) @GeneratedValue(strategy = GenerationType.AUTO)
@Id @GeneratedValue(strategy=IDENTITY) @GeneratedValue(strategy = GenerationType.AUTO)
删除@GeneratedValue(strategy=IDENTITY),只剩下一个。
7.3在项目下的pom.xml中查找genericCore,修改其属性为“false”。
7.4运行
7.3在项目下的pom.xml中查找genericCore,修改其属性为“false”。
7.4运行
- mvn appfuse:gen -Dentity=Employee
生成dao与service 。
8.运行 mvn jetty:run 再次查看 http://localhost:8080
8.运行 mvn jetty:run 再次查看 http://localhost:8080