使用SpringSide 3.1.4.3开发Web项目的全过程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

使用SpringSide3.1.4.3开发Web项目的全过程(上)日来源:BlogJava作者:海边沫沫收藏本文SpringSide3.1.4.3是目前SpringSide的最新版本,也是完成度比较高的一个版本,用来做实际项目的开发应该丝毫不成问题。这里写一下使用该版本开发一个简单Web项目的全过程,当然,最重要的是我自己的一些心得体会。我的文章很长,只有耐下性子细看,才能体会个中三味。第一步、下载SpringSide3.1.4.3all-in-one版。这个过程太简单了,SpringSide的官方网站是,去那里就可以下载了,all-in-one版当然是懒人们的不二选择。这里有一点很搞笑,该版本标的是SpringSide3.1.4.3,但是下载后解压缩,解压缩出来的文件是springside-3.1.4.2,这可能是江南白衣的一点小小的失误,据我猜测,3.1.4.3较3.1.4.1的进步应该是加入了jsp-api.jar这一个库,希望白衣这次不要为了更改这个版本号上的失误而再推出一个新版本,如果真要推出新版本,怎么样也应该把我最近研究出来的多数据库的配置加进去。第二步、安装SpringSide。如果安装过SpringSide以前的版本,最好把用户目录下的.m2文件夹删掉,这个文件夹是Maven的本地仓库所在地,虽说Maven可以有效保证库文件不会发生版本冲突,但是删除这个文件夹会使安装过程加快,否则,SpringSide的安装过程会不停询问你是否覆盖某某文件。删除.m2文件夹后,运行springside-3.1.4.2目录下的bin目录中的quickstart.bat即可(前提条件是已经安装好了JDK5或以上版本,如果你的电脑中连JDK都没有,就别来趟SpringSide的浑水了)。等待这个文件运行完,就可以看到SpringSide3提供的三个示例项目mini-web、mini-service、showcase都运行起来了,这时你可以细细体会一下SpringSide实现的各种特性。仔细察看SpringSide的bin目录,发现该版本提供的脚本更加明确和有用,如start-db.bat可以用来启动Derby数据库,start-selenium.bat用来启动seleniumserver,而start-tomcat.bat那就别说了,地球人都知道。如果要想使用SpringSide来生成项目,还有一点点小工作要做,就是把Maven的bin目录加入到PATH环境变量中,如下图:第三步,使用SpringSide生成项目。运行bin目录下的new-project.bat即可,如下图:图片看不清楚?请点击这里查看原图(大图)。在创建项目的过程中,该脚本会提出一些问题,其中groupId指的是你的组织的名称,由于该项目由我私人贡献,纯属示范用,所以我填了youxia.personal,因此,在第5个问题上,我选择了personal.you作为我项目中的package的名字,这也是符合国际惯例的;artifactId指的是项目的名字,这里为MultiDatasourceExample,名字有点长,从名字就可以看出来我要示范多个数据源的配置。第四步、启动Eclipse,导入项目。生成的项目位于SpringSide目录下的tools\generator\generated-project目录下,下面是Eclipse的截图:项目导入成功后,Eclispe资源管理器的截图:可以看到,该项目一经导入,立即可用,一个烦人的红叉都没有,这也正说明了该版本是SpringSide3的一个革命性版本,从该版本开始,SpringSide3的易用性提高了不止一个档次。Eclipse推荐使用3.4及以上版本,因为在该版本中,对Tomcat服务器的管理更加方便,只需要在项目的快捷菜单中选择RunOnServer,即可自动打开Tomcat服务器并部署项目,如下图:图片看不清楚?请点击这里查看原图(大图)。这里有一点一定要注意,由于SpringSide生成的项目默认使用的是Derby数据库,所以要想成功运行项目,必须先启动Derby数据库,还记得前面提到的start-db.bat吗?运行它!然后运行该项目的bin目录下的init-db.jar,在数据库中放入该项目的初始化数据。然后就可以点RunOnServer来启动项目了,让大家见识一下Eclipse的嵌入式浏览器、Tomcat服务器视图、Console视图。真的是太方便了:第五步、将数据库迁移到MySQL中。在项目中,创建数据库和初始化数据库的语句都是以SQL文件存在的,如下图:但是该语句都是针对Derby的,如果要应用于MySQL,还必须得要做一些修改才行,先修改schema.sql,如下:droptableifexistsRESOURCES_AUTHORITIES;droptableifexistsROLES_AUTHORITIES;droptableifexistsUSERS_ROLES;droptableifexistsRESOURCES;droptableifexistsAUTHORITIES;droptableifexistsUSERS;droptableifexistsROLES;createtableUSERS(IDintegerprimarykeyauto_increment,LOGIN_NAMEvarchar(20)notnullunique,PASSWORDvarchar(20),NAMEvarchar(20),EMAILvarchar(30));createuniqueindexUSERS_LOGIN_NAME_INDEXonUSERS(LOGIN_NAME);createtableROLES(IDintegerprimarykeyauto_increment,NAMEvarchar(20)notnullunique);createtableUSERS_ROLES(USER_IDintegernotnull,ROLE_IDintegernotnull,FOREIGNKEY(ROLE_ID)referencesROLES(ID),FOREIGNKEY(USER_ID)referencesUSERS(ID));CREATETABLEAUTHORITIES(IDintegerprimarykeyauto_increment,NAMEvarchar(20)notnull,DISPLAY_NAMEvarchar(20)notnull);createtableROLES_AUTHORITIES(ROLE_IDintegernotnull,AUTHORITY_IDintegernotnull,FOREIGNKEY(ROLE_ID)referencesROLES(ID),FOREIGNKEY(AUTHORITY_ID)referencesAUTHORITIES(ID));CREATETABLERESOURCES(IDintegerprimarykeyauto_increment,RESOURCE_TYPEvarchar(20)notnull,VALUEvarchar(255)notnull,ORDER_NUMfloatnotnull);createtableRESOURCES_AUTHORITIES(AUTHORITY_IDintegernotnull,RESOURCE_IDintegernotnull,FOREIGNKEY(AUTHORITY_ID)referencesAUTHORITIES(ID),FOREIGNKEY(RESOURCE_ID)referencesRESOURCES(ID));该修改主要包含两个地方,一个是在droptable后面加上了ifexists,一个是把GENERATEDALWAYSasIDENTITY修改为auto_increment。而load-data.sql不需要修改。然后,启动MySQL,在MySQL中使用上面的两个sql文件创建数据库和添加初始化数据,如下图:图片看不清楚?请点击这里查看原图(大图)。然后更改数据库连接,修改项目的application.properties文件,如下:#jdbcsettingsjdbc.url=jdbc:mysql://localhost:3306/MultiDatasourceExample?useUnicode=true&characterEncoding=utf8jdbc.username=youxiajdbc.password=******#hibernatesettingshibernate.show_sql=falsehibernate.format_sql=falsehibernate.ehcache_config_file=/ehcache/ehcache-hibernate-local.xml修改项目的applicationContext.xml文件,这里要修改两个地方,一个为DriverClassName,一个为hibernate.dilect,如下:?xmlversion=1.0encoding=UTF-8?beansxmlns=:xsi=:jee=:tx=:context=:schemaLocation=://://://://://://://=truedescriptionSpring公共配置文件/description!--定义受环境影响易变的变量--beanclass=org.springframework.beans.factory.config.PropertyPlaceholderConfigurerpropertyname=systemPropertiesModeNamevalue=SYSTEM_PROPERTIES_MODE_OVERRIDE/propertyname=ignoreResourceNotFoundvalue=true/propertyname=locationslist!--标准配置--valueclasspath*:/application.properties/value!--本地开发环境配置--valueclasspath*:/a

1 / 52
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功