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

相关文章

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

SpringBoot整合liteflow的详细过程

《SpringBoot整合liteflow的详细过程》:本文主要介绍SpringBoot整合liteflow的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...  liteflow 是什么? 能做什么?总之一句话:能帮你规范写代码逻辑 ,编排并解耦业务逻辑,代码

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

MySQL中的InnoDB单表访问过程

《MySQL中的InnoDB单表访问过程》:本文主要介绍MySQL中的InnoDB单表访问过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、访问类型【1】const【2】ref【3】ref_or_null【4】range【5】index【6】

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

Navicat数据表的数据添加,删除及使用sql完成数据的添加过程

《Navicat数据表的数据添加,删除及使用sql完成数据的添加过程》:本文主要介绍Navicat数据表的数据添加,删除及使用sql完成数据的添加过程,具有很好的参考价值,希望对大家有所帮助,如有... 目录Navicat数据表数据添加,删除及使用sql完成数据添加选中操作的表则出现如下界面,查看左下角从左

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte