[size=medium]Appfuse2开发流程
2008年05月20日 星期二 下午 05:48
學習了Appfuse2一些時間,把自己使用appfuse2開發項目的方法流程總結一下。也希望大家可以给予意见指点一下……
1、創建工程(這里用的是Struts2),命令為:
mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-struts -DremoteRepositories=http://static.appfuse.org/releases -DarchetypeVersion=2.0 -DgroupId=com.mycompany.app -DartifactId=myproject
2、修改數據庫連線信息(我用的是mysql),進入myproject底下打開pom.xml文件,修改連線帳號密碼
xml 代码
<dbunit.dataTypeFactoryName>org.dbunit.dataset.datatype.DefaultDataTypeFactorydbunit.dataTypeFactoryName>
<dbunit.operation.type>CLEAN_INSERTdbunit.operation.type>
<hibernate.dialect>org.hibernate.dialect.MySQLInnoDBDialecthibernate.dialect>
<jdbc.groupId>mysqljdbc.groupId>
<jdbc.artifactId>mysql-connector-javajdbc.artifactId>
<jdbc.version>5.0.5jdbc.version>
<jdbc.driverClassName>com.mysql.jdbc.Driverjdbc.driverClassName>
<jdbc.url>jdbc.url>
<jdbc.username>wensonjdbc.username>
<jdbc.password>wensonjdbc.password>
3、設置解決中文顯示問題,防止出現亂碼,詳情請參考:http://wenson.javaeye.com/blog/138633
4、下載源代碼。在命令控制臺進入myproject目錄,執行命令:mvn appfuse:full-source,進行源碼下載
5、試運行所建項目。執行命令:mvn jetty:run-war,運行項目。運行成功后在瀏覽器里使用http://localhost:8080即可訪問
6、下面開始創建新的模塊。一般模塊的設計創建有兩種方式,一種是先設計數據庫,再根據數據庫生成pojo,一種是先生成pojo,再根據pojo生成數據庫。appfuse都支持這兩種方式。先使用mvn eclipse:eclipse 命令生成eclipse的項目配置文件,把項目導入到eclipse中。如果用先設計數據庫的方式的話,那么在原先生成的數據中新增數據表,設計好表結構,然后在控制臺執行mvn appfuse:gen-model命令,就會自動生成對應的pojo,然后執行mvn appfuse:gen Dentity=pojoName,即可自動生成dao、service等類。如果使用先生稱pojo類的方式,那么在com.company.model底下先新建一個pojo,使用JPA設置好數據庫映射,然后執行mvn appfuse:gen Dentity=pojoName,即可自動生成dao、service等類。
(提示:AppFuse 制作了一个代码生成工具 ,他生成的代码位于 \target\appfuse\ 目录下面generated-sources内。代码生成工具可以生成绝大部分我们需要的代码,比如 dao 类,service 类,菜单、增删改的 web 页面、配置文件、样本数据,等等。
如果你希望appfuses生成 dao 和 service 类,就在项目根目录下的pom.xml中,把genericCore属性设为false。
xml 代码
<project> ... <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>appfuse-maven-plugin</artifactId> <version>2.0</version> <configuration> <genericCore>true</genericCore> <!-- Set to false if you want Java files generated for your DAOs and Managers --> <fullSource>false</fullSource> <!-- Set to true if you've "full-sourced" your project and changed org.appfuse to your package name --> </configuration> <dependencies> <dependency> <groupId>${jdbc.groupId}</groupId> <artifactId>${jdbc.artifactId}</artifactId> <version>${jdbc.version}</version> </dependency> </dependencies> </plugin> </plugins> </build> ... </project>
否则就用 ture ,它可以帮你搞定一切。下面就让我们来运行 “mvn appfuse:gen” 生成代码。)
7、接下來把生成的源代碼寫到源程序中。使用mvn appfuse:install
8、執行mvn jetty:run-war, 即可運行建好生成的項目
中文乱码问题
近来学习appfuse2一直受着displaytag中文乱码的困挠,如果是刚刚下载下来的源代码编译后没有乱码,但是如果做了相应的displaytag中文修改、或者增加了新pojo之后,重新启动就会产生乱码。
百度、google了几天,发现都是appfuse1的解决办法,appfuse2的几乎没有,有的只是从生成的war档文件中修改,但是如果重新修改添加displaytag之后就又有问题了,没有冲根本上解决……
这个过程中,发现ApplicationResources_zh.properties却无论如何都没有乱码。后来仔细检查pom.xml配置文件,发现ApplicationResources_zh.properties和displaytag_zh.properties对配置还真不一样,原文件对ApplicationResources.properties的相关配置文件是:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>native2ascii-maven-plugin</artifactId>
<version>1.0-alpha-1</version>
<configuration>
<dest>target/classes</dest>
<src>src/main/resources</src>
</configuration>
<executions>
<execution>
<id>native2ascii-utf8</id>
<goals>
<goal>native2ascii</goal>
</goals>
<configuration>
<encoding>UTF8</encoding>
<includes>
ApplicationResources_ko.properties,
ApplicationResources_no.properties,
ApplicationResources_tr.properties,
ApplicationResources_zh*.properties
</includes>
</configuration>
</execution>
<execution>
<id>native2ascii-8859_1</id>
<goals>
<goal>native2ascii</goal>
</goals>
<configuration>
<encoding>8859_1</encoding>
<includes>
ApplicationResources_de.properties,
ApplicationResources_fr.properties,
ApplicationResources_nl.properties,
ApplicationResources_pt*.properties
ApplicationResources_zh*.properties
</includes>
</configuration>
</execution>
</executions>
</plugin>
以及——
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>ApplicationResources_de.properties</exclude>
<exclude>ApplicationResources_fr.properties</exclude>
<exclude>ApplicationResources_ko.properties</exclude>
<exclude>ApplicationResources_nl.properties</exclude>
<exclude>ApplicationResources_no.properties</exclude>
<exclude>ApplicationResources_pt*.properties</exclude>
<exclude>ApplicationResources_tr.properties</exclude>
<exclude>ApplicationResources_zh*.properties</exclude>
<exclude>applicationContext-resources.xml</exclude>
<exclude>struts.xml</exclude>
</excludes>
<filtering>true</filtering>
</resource>
发现一直都没有对关于ApplicationResources以外的*.properties文件进行配置处理,于是照以上看来native2ascii只有对ApplicationResources进行了国际化编码了而已,其他的都没有进行。于是做了一下修改——
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>native2ascii-maven-plugin</artifactId>
<version>1.0-alpha-1</version>
<configuration>
<dest>target/classes</dest>
<src>src/main/resources</src>
</configuration>
<executions>
<execution>
<id>native2ascii-utf8</id>
<goals>
<goal>native2ascii</goal>
</goals>
<configuration>
<encoding>[color=red]UTF-8[/color]</encoding>
<includes>
ApplicationResources_ko.properties,
ApplicationResources_no.properties,
ApplicationResources_tr.properties,
[color=red]*_zh*.properties[/color]
</includes>
</configuration>
</execution>
<execution>
<id>native2ascii-8859_1</id>
<goals>
<goal>native2ascii</goal>
</goals>
<configuration>
<encoding>8859_1</encoding>
<includes>
ApplicationResources_de.properties,
ApplicationResources_fr.properties,
ApplicationResources_nl.properties,
ApplicationResources_pt*.properties
</includes>
</configuration>
</execution>
</executions>
</plugin>
以及——
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>ApplicationResources_de.properties</exclude>
<exclude>ApplicationResources_fr.properties</exclude>
<exclude>ApplicationResources_ko.properties</exclude>
<exclude>ApplicationResources_nl.properties</exclude>
<exclude>ApplicationResources_no.properties</exclude>
<exclude>ApplicationResources_pt*.properties</exclude>
<exclude>ApplicationResources_tr.properties</exclude>
<exclude>[color=red]*_zh*.properties[/color]</exclude>
<exclude>applicationContext-resources.xml</exclude>
<exclude>struts.xml</exclude>
</excludes>
<filtering>true</filtering>
</resource>
注意以上做了红字部分的修改
最后重启项目,登录测试,发现一切Ok,后来不管在displaytag对显示属性中作任何修改,乱码都不会出现,看来是彻底解决了。
[/size]
分享到:
相关推荐
《基于Acegi、Appfuse2与Java的数据权限控制系统构建》 在信息技术领域,尤其是在企业级应用开发中,安全性和权限管理是至关重要的组成部分。本文将深入探讨如何利用Spring、Acegi框架以及Ext2.0库,结合MySQL...
AppFuse 是一个开源项目,它的主要目标是提供一个快速启动Web应用程序开发的框架。这个框架集成了多种流行的技术,如Spring、Hibernate、Struts或Spring Boot等,旨在简化开发过程,减少开发者在基础架构上花费的...
AppFuse 可以根据选定的技术栈自动生成项目的目录结构、配置文件以及基本的CRUD操作,从而减少开发初期的设置工作。 描述中提到的是使用AppFuse 2.0版本的情况,这可能是指一个基于早期MVC架构的示例项目。在...
**Appfuse开发教程** Appfuse 是一个开源项目,它提供了一种快速开发Web应用程序的方式,尤其在使用Java技术...通过本教程,你可以了解到如何在Appfuse环境中进行完整的应用开发流程,从而提升你的Java Web开发技能。
- **目的**:Maven 是 AppFuse2 构建过程的核心工具,负责项目依赖管理及构建流程。 - **下载链接**:http://maven.apache.org/download.html - **依赖包下载**:对于网络环境不佳的情况,建议手动下载 AppFuse2 的...
Appfuse2是一款开源的Web应用程序框架,它集成了多种流行的技术,如Struts、Hibernate、Spring和JPA,旨在简化Java应用的开发过程。本文档将详细介绍如何利用Appfuse2来构建一个基于Oracle数据库的项目。 首先,让...
### Appfuse教程知识点详解 #### 一、Appfuse框架简介 **Appfuse** 是由 Matt Raible 开发的一款面向 J2EE 的框架,其主要目的是为...这样的过程不仅有助于理解 AppFuse 的工作原理,还能够加深对相关技术栈的理解。
AppFuse 是一个基于Java平台的开源项目,旨在加速和简化Web应用程序的开发。它通过集成各种流行框架,如Struts、Spring、Hibernate等,提供了一个...这对于快速启动新项目或学习现代Java Web开发技术是非常有价值的。
Appfuse是一款开源的Java Web应用框架,它旨在简化开发过程,提供一个快速开发基础Web应用程序的平台。Appfuse使用了Maven作为构建工具,结合Spring、Hibernate、Struts2等流行框架,为开发者提供了一个标准的架构...
Appfuse是一款开源的Java Web应用框架,它集成了多种主流技术栈,如Spring、Hibernate、Struts等,旨在简化企业级应用的开发流程。本篇将重点介绍如何通过Maven下载Appfuse 2.0的源码,并进行简单的配置。 #### 二...
AppFuse 是一个开源的Web应用程序开发框架,旨在简化Java Web应用程序的构建过程,尤其是在使用Spring、Hibernate或iBATIS等技术栈时。通过AppFuse,开发者可以快速搭建基础的开发环境,节省大约85%的初期开发时间。...
标题中的“appfuse先pojo再dll”是一个关于软件开发过程的表述,它涉及到了两个主要的概念:POJO(Plain Old ...不过,如果你想要深入学习AppFuse或是相关开发流程,可以从上述概念出发,结合提供的博客链接进行研究。
**AppFuse 学习笔记(一):安装与部署** AppFuse 是一个开源项目,它提供了一种快速构建企业级 Web 应用程序的方式。...通过学习和实践 AppFuse,你可以更好地理解和掌握现代企业级 Web 开发流程,提高开发效率。
AppFuse 是一个开源项目,它提供了快速开发Java Web应用程序的基础框架。这个框架集成了Spring、Hibernate和Struts等主流技术,使得开发者能够迅速构建出符合MVC架构的应用。在最新的版本2.1.0-M2中,AppFuse 提供了...
### AppFuse:加速J2EE项目开发 #### 一、简介与背景 AppFuse是一个用于启动J2EE项目的工具包,它提供了一种快速而简便的方法来构建基于Java的应用程序。该工具包由Matt Raible创建,他在网络开发领域拥有丰富的...
2. "appfuse.doc":这是一个关于AppFuse的文档,可能详细介绍了AppFuse的架构、使用方法以及常见问题解答。 3. "XDoclet Tags.doc":这可能是关于XDoclet的标签文档,解释了如何使用XDoclet的注解来生成不同类型的...
在硬盘上创建一个项目根目录,例如 `E:\appfuse2-ly`。 **2. 使用 Maven 创建 Appfuse 项目** 在命令行中切换到项目根目录,然后输入以下命令: ```bash mvn archetype:create -DarchetypeGroupId=org....
AppFuse是一款开源项目,旨在简化Java Web应用程序的开发。它提供了一个基础框架,结合了多种技术和最佳实践,帮助开发者快速构建安全、可扩展的Web应用。AppFuse Light是AppFuse项目的一个精简版本,专为那些希望...
appfuse 有struts2+hibernate+spring的整合 springmvc+hibernate+spring的整合 多模块,但模块都有 学习开发参考使用非常方便 可以到官方下载最新版的,我只是把自己下载的打包整理一下 注意哈,都是基于maven的...