appfuse常用命令及添加模板过程

2024-05-24 16:08

本文主要是介绍appfuse常用命令及添加模板过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用 AppFuse2.0,你需要对 maven有一些基本的了解,比如什么叫 target、什么是 pom.xml 以及如何运行 maven,等等。下表列出了本文中用到的也是较为常用的 AppFuse 的 命令:

命令                                                                 说明
 
mvn eclipse:eclipse                      生成eclipse的项目的配置文件,用户可以直接把项目导入到eclipse中
 
mvn jetty:run-war                         打包并且发布你的应用程序到Jetty, 查看在 http://localhost:8080  
 
 mvn appfuse:gen                         根据pojo生成dao manger action 页面及他们的test。
 
mvn appfuse:install                       把生成的源代码及配置文件写入到src中
 
mvn integration-test                      Runs UI tests in Tomcat using Cargo
 
 mvn appfuse:full-source               Converts AppFuse basic projects to full-source with no AppFuse dependencies. Currently does not work with modular archetypes.
 
 mvn appfuse:gen-model           Generates Java classes from database tables.
 

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

图 1. Department UML 图




现在我们来生成一个简单的模块 

首先,还是进入dos命令行

在进入myproject里,执行mvn eclipse:eclipse

这是可以在eclipse中import导入appfuse的项目—myproject

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

Department.java

package org.appfuse.model; 

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table; 

@Entity
@Table(name="department")
public  class Department  extends BaseObject  implements Serializable  {
       private static final long serialVersionUID = 831759222476769186L;
       private Long id;
       private String name;     
       private String description;      

       @Id @GeneratedValue(strategy=GenerationType.AUTO)
       public Long getId() {
              return id;
       }
 

       public void setId(Long id) {
              this.id = id;
       }


       @Column(name="name",nullable=false,length=100)
       public String getName() {
              return name;
       }
 

       public void setName(String name) {
              this.name = name;
       }
       

       @Column(name="description",nullable=false,length=100)
       public String getDescription() {
              return description;
       }
 

       public void setDescription(String description) {
              this.description = description;
       }
 

       @Override
       public boolean equals(Object o) {
              // TODO Auto-generated method stub
              return false;
       }


       @Override
       public int hashCode() {
              // TODO Auto-generated method stub
              return 0;
       }


       @Override
       public String toString() {
              // TODO Auto-generated method stub
              return null;
       }

}


我们现在用appfuse提供的appfuse:gen来生成模块

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

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

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>appfuse-maven-plugin</artifactId>
                <version>$ {appfuse.version}</version>
                <configuration>
                    <genericCore>$ {amp.genericCore}</genericCore>
                    <fullSource>$ {amp.fullSource}</fullSource>
                </configuration>
            </plugin>

 Set to false if you want Java files generated for your DAOs and Managers 

Set to true if you've "full-sourced" your project and changed org.appfuse to your package name

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

 
在target\appfuse\generated-sources下会生成部门的代码

我们需要接着执行mvn appfuse:install 把生成的代码写入源程序中 

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

appfuse的初始界面 


 

这篇关于appfuse常用命令及添加模板过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/998879

相关文章

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

使用Java填充Word模板的操作指南

《使用Java填充Word模板的操作指南》本文介绍了Java填充Word模板的实现方法,包括文本、列表和复选框的填充,首先通过Word域功能设置模板变量,然后使用poi-tl、aspose-words... 目录前言一、设置word模板普通字段列表字段复选框二、代码1. 引入POM2. 模板放入项目3.代码

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

Python进行word模板内容替换的实现示例

《Python进行word模板内容替换的实现示例》本文介绍了使用Python自动化处理Word模板文档的常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录技术背景与需求场景核心工具库介绍1.获取你的word模板内容2.正常文本内容的替换3.表格内容的

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF

MySQL使用EXISTS检查记录是否存在的详细过程

《MySQL使用EXISTS检查记录是否存在的详细过程》EXISTS是SQL中用于检查子查询是否返回至少一条记录的运算符,它通常用于测试是否存在满足特定条件的记录,从而在主查询中进行相应操作,本文给大... 目录基本语法示例数据库和表结构1. 使用 EXISTS 在 SELECT 语句中2. 使用 EXIS

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了