您好,欢迎访问三七文档
appfuse快速开发手册1、开发环境搭建1.安装JDK5+1)在官网(相关地址将在备注列出)找到jdk5或以上版本的下载链接,将其下载到本地。本手册使用的jdk版本为jdk1.5.0_21。2)将下载的jdk安装到C:\ProgramFiles\Java目录下(默认安装)。3)进入我的电脑-属性-高级-环境变量新建系统变量:变量名(JAVA_HOME),变量值(C:\ProgramFiles\Java\jdk1.5.0_21)4)在系统环境变量Path中添加:%JAVA_HOME%\bin;5)新建系统变量:变量名(CLASSPATH),变量值(.;%JAVA_HOME%\lib;)2.安装MySQL5.x1)在官网找到MySQL5.x相关版本下载链接,将其下载到本地。本手册使用的安装包为mysql-5.0.18-win32.zip。2)双击安装。3.安装maven1)下载maven,最新版本为2.2.1,本手册使用的版本为2.0.92)将下载的压缩包解压到E盘,并将文件夹命名为maven-2.0.9(不是必须的,便于说明)。3)新建系统变量:变量名(MAVEN_HOME)变量值(E:\maven-2.0.9)4)在系统变量Path中添加:%MAVEN_HOME%\bin;5)在系统变量CLASSPATH中添加:%MAVEN_HOME%\lib;4.安装校验4.1jdk校验在dos窗口下输入命令java-version如果出现类似下面的截图则说明安装配置成功4.2MySQL校验进入MySQL控制台,或者直接输入命令mysql-uroot-p按操作提示输入密码进入。若此命令无效,则是因为环境变量没有添加上去,把mysql的bin目录添加到path中去。4.3maven校验在dos窗口下输入命令mvn--version看maven是否配置成功。2、快速建立项目本手册以建立Archetype为Struts2Basic的librarySystem项目为例,简单描述appfuse快速建立项目过程以及一些注意事项。1.mvn命令简介mvn为maven的缩写,通过mvn命令,可以快速构建项目。下面对常用mvn命令进行介绍。mvnarchetype:create:创建Maven项目mvnappfuse:gen-model根据数据库的表生成java类mvnappfuse:gen-Dentity=XXX建立所有的配置文档mvnappfuse:full-source把运行所需要的org.appfuse中的依赖类转换成你的包名称mvneclipse:eclipse生成eclipse的项目的配置文件,用户可以直接把项目导入到eclipse中mvnjetty:run-war打包并且发布你的应用程序到Jettymvnappfuse:install把生成的源代码及配置文件写入到src中mvnappfuse:remove删除appfuse:gen.生成的代码mvnclean:清除目标目录中的生成结果mvnpackage:项目打包...2.mvn命令建立项目在F盘建立目录myproject,在dos下进入该目录,输入以下指令:mvnarchetype:create-DarchetypeGroupId=org.appfuse.archetypes-DarchetypeArtifactId=appfuse-basic-struts-DremoteRepositories==2.0.2-DgroupId=com.librarysystem-DartifactId=librarysystem当出现buildsuccessful表明创建成功在dos下进入生成的librarysystem目录,运行以下命令:mvnappfuse:full-source指令运行成功效果如下图:修改默认数据库MySQL配置dbunit.dataTypeFactoryNameorg.dbunit.dataset.datatype.DefaultDataTypeFactory/dbunit.dataTypeFactoryNamedbunit.operation.typeCLEAN_INSERT/dbunit.operation.typehibernate.dialectorg.hibernate.dialect.MySQL5InnoDBDialect/hibernate.dialectjdbc.groupIdmysql/jdbc.groupIdjdbc.artifactIdmysql-connector-java/jdbc.artifactIdjdbc.version5.0.5/jdbc.versionjdbc.driverClassNamecom.mysql.jdbc.Driver/jdbc.driverClassNamejdbc.url![CDATA[jdbc:mysql://localhost/librarysystem?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf-8]]/jdbc.urljdbc.usernameroot/jdbc.usernamejdbc.passwordwan/jdbc.password输入下面指令,启动内置服务器jettymvnjetty:run正常启动,dos控制台显示如下:打开浏览器,输入地址:,效果如下:3.项目导入eclipse以及用tomcat启动配置在dos控制台输入下面指令,可以将生成的项目导入到eclipse中,如果IDE为idea,则使用命令mvnidea:ideamvneclipse:eclipse生成成功,显示效果如下:Buildsuccessful后,就可以正式将该项目导入到eclipse中了,此时,在eclipse中用mvnjetty:run-war指令运行一次,如果不出意外项目可以在jetty服务器上正常启动。但使用tomcat服务器启动会出现问题。需要进行下面几个地方的修改:拷贝target/librarysystem-1.0-SNAPSHOT/WEB-INF下的lib目录,将其放到src/main/webapp/WEB-INF/将target/librarysystem-1.0-SNAPSHOT/WEB-INF/classes下的所有资源文件拷贝并覆盖到src/main/resources下在项目属性中,javabuildpath-----Source去掉webapp目录。如果有必要,更改其他源文件发布的默认输出文件夹。如下面更改了默认的src/test/java输出目录把User.java与Role.java中的@Id@GeneratedValue(strategy=GenerationType.AUTO)publicLonggetId(){returnid;}变为:@Id@GeneratedValue(strategy=IDENTITY)publicLonggetId(){returnid;}因为:mqsql的ID是自增的,JPA提供的四种标准用法为TABLE,SEQUENCE,IDENTITY,AUTO.TABLE:使用一个特定的数据库表格来保存主键。SEQUENCE:根据底层数据库的序列来生成主键,条件是数据库支持序列。IDENTITY:主键由数据库自动生成(主要是自动增长型)AUTO:主键由程序控制。否则的话无法插入信息。用命令或直接清空target文件夹,重新发布到tomcat,运行,不出意外,就可以见到下面的效果了:注意:如果不将target/librarysystem-1.0-SNAPSHOT/WEB-INF/classes资源文件覆盖到src/main/resources下,而只是更改resources下的jdbc配置,项目可以运行,但可能出现乱码。即使删除其他国际化配置,重新发布,有时任不能解决问题。在实际操作中还经常遇到下面的异常:严重:Exceptionsendingcontextinitializedeventtolistenerinstanceofclassorg.springframework.web.context.ContextLoaderListenerorg.springframework.beans.factory.BeanDefinitionStoreException:Invalidbeandefinitionwithname'dataSource'definedinclasspathresource[applicationContext-resources.xml]:Circularplaceholderreference'jdbc.driverClassName'inpropertydefinitions造成此异常原因尚不清楚,一般可以通过下面方法解决此问题:在项目中运行mvnpackage命令,将生成war包下的jdbc配置文件覆盖src/main/resources下的jdbc配置文件,重新启动tomcat可以即可。4.appfuse目录结构简介src:源代码目录,需要修改的嗲吗一般都位于src下。src/main/java:java源代码目录,包括POJO,action等。src/main/resources:资源目录,各种资源文件配置。src/main/webapp:web应用源代码目录。src/test:测试源代码目录。target:目标文件目录。target/classes:源代码编译输出目录。target/test-classes:自动测试编译输出目录。5.模块curd实现以添加图书信息模块为例,介绍appfuse如何创建模块及实现curd的在mysql的librarysystem数据库中新增表book_info,代码如下:DROPTABLEIFEXISTS`book_info`;CREATETABLE`book_info`(`Id`int(11)NOTNULLauto_increment,`book_no`int(10)NOTNULLdefault'0'COMMENT'书本编号',`book_name`varchar(50)defaultNULLCOMMENT'图书名称',`book_price`float(5,1)defaultNULLCOMMENT'图书价格',`book_isbn`varchar(20)defaultNULLCOMMENT'图书的isbn编码',`author`varchar(50)defaultNULLCOMMENT'作者',`publish`varchar(50)defaultNULLCOMMENT'出版社',`publish_time`datedefaultNULLCOMMENT'出版日期',`status`smallint(4)default'0'COMMENT'书籍状态(2:借出,1:丢失,0:在库)',`in_date`datedefaultNULLCOMMENT'入库时间',`remark`varchar(500)defaultNULLCOMMENT'备注',PRIMARYKEY(`Id`))ENGINE=InnoDBDEFAULTCHARSET=utf8COMMENT='图书信息表';建表成功后,在\src\test\resources\”下添加一个“hibernate.reveng.xml”文件内容如下:?xmlversion=1.0encoding=UTF-8?!DOCTYPEhibernate-reverse-engineeringSYS
本文标题:快速开发手册
链接地址:https://www.777doc.com/doc-2475826 .html