用appfuse2.0生成一个单独的模块

<o:p> </o:p>

使用 AppFuse2.0,你需要对 maven有一些基本的了解,比如什么叫 target、什么是 pom.xml 以及如何运行 maven,等等。如果你现在还不知道 maven是什么,就需要找些相关资料学习一下。下表列出了本文中用到的也是较为常用的 AppFuse 的 命令:<o:p></o:p>

命令 <o:p></o:p>

说明<o:p></o:p>

mvn eclipse:eclipse<o:p></o:p>

生成eclipse的项目的配置文件,用户可以直接把项目导入到eclipse<o:p></o:p>

mvn jetty:run-war<o:p></o:p>

打包并且发布你的应用程序到Jetty, 查看在 http://localhost:8080<o:p></o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

<o:p> </o:p>

 mvn appfuse:gen<o:p></o:p>

根据pojo生成dao manger action 页面及他们的test<o:p></o:p>

mvn appfuse:install<o:p></o:p>

把生成的源代码及配置文件写入到src<o:p></o:p>

mvn integration-test<o:p></o:p>

Runs UI tests in Tomcat using Cargo<o:p></o:p>

<o:p> </o:p>mvn <o:p>appfuse:full-source</o:p>

<o:p> </o:p>Converts AppFuse basic projects to full-source with no AppFuse dependencies. Currently does not work with modular archetypes.

<o:p> mvn appfuse:gen-model
</o:p>

<o:p> </o:p>Generates Java classes from database tables.

<o:p> </o:p>


<o:p></o:p>

<o:p> </o:p>

本文的示例实现对部门信息的增删查改等基本功能。用 struts 实现表示层,用 Hibernate 开发持久层,用 Spring 提供事务控制等跨模块服务,并用 Acegi 进行安全管理。本示例只用到一个域模型:department,下面是它的 UML 图。<o:p></o:p>

1. Department UML

Appfuse 2.0简单开始和源码的下载中,我简单说明了appfuse2.0的生成<o:p></o:p>

现在我们来生成一个简单的模块  <o:p></o:p>

首先,还是进入dos命令行<o:p></o:p>

在进入myproject里,执行mvn eclipse:eclipse<o:p></o:p>

这是可以在eclipseimport导入appfuse的项目myproject

src.main.java.org.appfuse.model中新建一个deparment

java 代码
 
  1. Department.java  
  2.   
  3. package org.appfuse.model;  
  4. import java.io.Serializable;  
  5. import javax.persistence.Column;  
  6.   
  7. import javax.persistence.Entity;  
  8.   
  9. import javax.persistence.GeneratedValue;  
  10.   
  11. import javax.persistence.GenerationType;  
  12.   
  13. import javax.persistence.Id;  
  14.   
  15. import javax.persistence.Table;  
  16.   
  17. @Entity  
  18.   
  19. @Table(name="department")  
  20.   
  21. public class Department extends BaseObject implements Serializable {  
  22.   
  23.    
  24.   
  25.        /** 
  26.  
  27.         * 
  28.  
  29.         */  
  30.   
  31.        private static final long serialVersionUID = 831759222476769186L;  
  32.  
  33.        private Long id; 

  34.        private String name;  
  35.   
  36.        private String description;       
  37.   
  38.        @Id @GeneratedValue(strategy=GenerationType.AUTO)  
  39.   
  40.        public Long getId() {  
  41.   
  42.               return id;  
  43.        } 

  44.        public void setId(Long id) {  
  45.               this.id = id;  
  46.        }  
  47.   
  48.        @Column(name="name",nullable=false,length=100)  
  49.        public String getName() {  
  50.               return name;  
  51.        }  
  52.   
  53.        public void setName(String name) {  
  54.               this.name = name;  
  55.        }  
  56.   
  57.        @Column(name="description",nullable=false,length=100)   
  58.        public String getDescription() {
  59.               return description;  
  60.        }  
  61.   
  62.        public void setDescription(String description) {  
  63.               this.description = description;  
  64.        }  
  65.   
  66.        @Override  
  67.        public boolean equals(Object o) {  
  68.               // TODO Auto-generated method stub   
  69.         return false;  
  70.   
  71.        }  
  72.   
  73.        @Override  
  74.        public int hashCode() {  
  75.               // TODO Auto-generated method stub  
  76.               return 0;  
  77.        }  
  78.   
  79.        @Override  
  80.        public String toString() {  
  81.               // TODO Auto-generated method stub  
  82.               return null;  
  83.        }  
  84. }  

<o:p></o:p>

我们现在用appfuse提供的appfuse:gen来生成模块<o:p></o:p>

AppFuse 制作了一个代码生成工具 ,他生成的代码位于 \target\appfuse\ 目录下面generated-sources内。代码生成工具可以生成绝大部分我们需要的代码,比如 dao 类,service 类,菜单、增删改的 web 页面、配置文件、样本数据,等等。

如果你希望appfuses生成 dao service 类,就在项目根目录下的pom.xml中,把genericCore属性设为false

xml 代码
 
  1. <project>  
  2. ...  
  3.   <build>  
  4.     <plugins>  
  5.       <plugin>  
  6.         <groupId>org.codehaus.mojo</groupId>  
  7.         <artifactId>appfuse-maven-plugin</artifactId>  
  8.         <version>2.0</version>  
  9.         <configuration>  
  10.           <genericCore>true</genericCore> <!-- Set to false if you want Java files generated for your DAOs and Managers -->  
  11.           <fullSource>false</fullSource> <!-- Set to true if you've "full-sourced" your project and changed org.appfuse to your package name -->  
  12.         </configuration>  
  13.         <dependencies>  
  14.           <dependency>  
  15.             <groupId>${jdbc.groupId}</groupId>  
  16.             <artifactId>${jdbc.artifactId}</artifactId>  
  17.             <version>${jdbc.version}</version>  
  18.           </dependency>  
  19.         </dependencies>  
  20.       </plugin>  
  21.     </plugins>  
  22.   </build>  
  23. ...  
  24. </project>  

否则就用 ture ,它可以帮你搞定一切。下面就让我们来运行 “mvn appfuse:gen” 生成代码。

<o:p> </o:p>

 [input] What is the name of you like to generate code from  POJO (i.e. person)?<o:p></o:p>

Department<o:p></o:p>

<o:p> </o:p>

target\appfuse\generated-sources下会生成部门的代码<o:p></o:p>

我们需要接着执行mvn appfuse:install<o:p></o:p>

把生成的代码写入源程序中<o:p></o:p>

<o:p> </o:p>

接着执行mvn jetty:run-war,http://localhost:8080就可以看到程序了<o:p></o:p>

<o:p> </o:p>

appfuse的初始界面<o:p> </o:p>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值