论坛首页 Java企业应用论坛

appfuse2項目的详细開發流程

浏览 15835 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-12-19  

 學習了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 代码
  1. <dbunit.dataTypeFactoryName>org.dbunit.dataset.datatype.DefaultDataTypeFactorydbunit.dataTypeFactoryName>  
  2.         <dbunit.operation.type>CLEAN_INSERTdbunit.operation.type>  
  3.         <hibernate.dialect>org.hibernate.dialect.MySQLInnoDBDialecthibernate.dialect>  
  4.         <jdbc.groupId>mysqljdbc.groupId>  
  5.         <jdbc.artifactId>mysql-connector-javajdbc.artifactId>  
  6.         <jdbc.version>5.0.5jdbc.version>  
  7.         <jdbc.driverClassName>com.mysql.jdbc.Driverjdbc.driverClassName>  
  8.         <jdbc.url>jdbc.url>  
  9.         <jdbc.username>wensonjdbc.username>  
  10.         <jdbc.password>wensonjdbc.password>  

3、設置解決中文顯示問題,防止出現亂碼,詳情請參考:http://wenson.iteye.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 代码
 
  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” 生成代码。)

7、接下來把生成的源代碼寫到源程序中。使用mvn appfuse:install

8、執行mvn jetty:run-war, 即可運行建好生成的項目

   发表时间:2007-12-21  
不知道是maven还是appfuse2的关系.
总是没有成功.
好像pom里面的tomcat地址有错之类的...

失败阿@@....
0 请登录后投票
   发表时间:2007-12-22  
xiuxiuxiu 写道
不知道是maven还是appfuse2的关系.
总是没有成功.
好像pom里面的tomcat地址有错之类的...

失败阿@@....


直接使用mvn jetty:run-war就可以了,maven會自動幫你配置運行。但是前提是你的網絡要正常。
0 请登录后投票
   发表时间:2008-01-19  
我的习惯是先把数据库见好,里面的表都是有1对多,多对多的关系。请问如何做呢?
0 请登录后投票
   发表时间:2008-01-19  
volking 写道
我的习惯是先把数据库见好,里面的表都是有1对多,多对多的关系。请问如何做呢?


请注意以下说明:

引用
如果用先設計數據庫的方式的話,那么在原先生成的數據中新增數據表,設計好表結構,然后在控制臺執行mvn appfuse:gen-model命令,就會自動生成對應的pojo,然后執行mvn appfuse:gen Dentity=pojoName,即可自動生成dao、service等類。
0 请登录后投票
   发表时间:2008-02-26  
对了,我是用mvn appfuse:gen-model先自动生成model,然后再用mvn appfuse:gen生成其他相关类但总报错。
另外,我并没有使用mvn appfuse:full-source和mvn jetty:run-war。
0 请登录后投票
   发表时间:2008-07-30  
rethink 写道
对了,我是用mvn appfuse:gen-model先自动生成model,然后再用mvn appfuse:gen生成其他相关类但总报错。
另外,我并没有使用mvn appfuse:full-source和mvn jetty:run-war。


你得先mvn appfuse:full-source獲取源代碼
0 请登录后投票
   发表时间:2008-08-06  
我是先建立一张person表:
create table person(
id bigint(20) not null PRIMARY  key AUTO_INCREMENT,
name varchar(50) not null,
age bigint(20)
);

为什么我在执行mvn appfuse:full-source后,再执行
mvn appfuse:gen-model生成实体的时候会报错:

org.hibernate.MappingException: Unable to load class declared as <mapping class=
"org.appfuse.model.User"/> in the configuration

实际上在hibernate.cfg.xml文件里是做了User类的映射的,而且是路径也是正确:
org.appfuse.model。
(注:这里的user类是appfuse自带的那个类)
0 请登录后投票
   发表时间:2008-08-22  
diegoball 写道
我是先建立一张person表:
create table person(
id bigint(20) not null PRIMARY  key AUTO_INCREMENT,
name varchar(50) not null,
age bigint(20)
);

为什么我在执行mvn appfuse:full-source后,再执行
mvn appfuse:gen-model生成实体的时候会报错:

org.hibernate.MappingException: Unable to load class declared as <mapping class=
"org.appfuse.model.User"/> in the configuration

实际上在hibernate.cfg.xml文件里是做了User类的映射的,而且是路径也是正确:
org.appfuse.model。
(注:这里的user类是appfuse自带的那个类)

这个就需看你具体的code了,仅依照你提供的这些信息,可能还是你的mapping配置除了问题。
0 请登录后投票
   发表时间:2008-08-29  
请问两个问题:
1.为什么一对多关系在两个Pojo没有体现?

2 生成ID会生成这样的一行:@Id @GeneratedValue(strategy=IDENTITY) @GeneratedValue(strategy =GenerationType.AUTO) ;这样才对=> @Id @GeneratedValue(strategy =GenerationType.AUTO)

环境Appsue 2.0.2 + mysql5.0


0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics