您的位置:首页 > 其它

手把手构建Maven企业级应用(整合SSI框架)

2012-03-16 00:54 573 查看

小导的博客

成功的人不是赢在起点,而是赢在转折点,机会是献给有准备的人。

手把手构建Maven企业级应用(整合SSI框架)《1》

网上其实整合框架的资料其实很多的,但是其中整合SSI的相对比较少的,如果是用Maven整合的就是少之又少的,如果是用Maven构建的企业级应用(多模块开发)整合SSI框架的实例基本上是没有的,所以写下这篇教程(当然这个教程其实算是入门级的多模块应用程序开发),希望那些新手们做类似的开发时可以少走些弯路,当然也热烈欢迎大牛指点不足。

废话不再多说,下面我们开始:

首先我们必须搭建起Maven运行环境,当然这里是在你已经有Java运行环境的前提这下进行的:

1、下载Maven,现在最新版本为Maven 2.2.1,下载地址为http://maven.apache.org/download.html

2、解压下载的apache-maven-2.2.1-bin.tar.gz(若你的是Windows环境你也可以选择apache-maven-2.2.1-bin.zip,都是差不多的),到任意目录下面,比如我的目录为/home/用户名/develop/programs。

3、配置Maven的环境变量,配置M2_HOME,例如我的配置M2_HOME=/home/用户名/develop/programs/apache-maven-2.2.1,然后将M2_HOME加入到PATH当中

4、验证Maven环境是否搭建成功,打开shell窗口(Windows的cmd窗口),输入命令:

命令如下:

mvn -v


如果出现下属信息即算搭建成功:

显示信息如下:

Apache Maven 2.2.1 (r801777; 2009-08-07 03:16:01+0800)
Java version: 1.6.0_18
Java home: /home/用户名/develop/programs/jdk1.6.0_18/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux" version: "2.6.31-20-generic" arch: "i386" Family: "unix"


5、此时环境已经搭建OK了,下面我们就开始Maven构建企业级应用开发。

手把手构建Maven企业级应用(整合SSI框架)《2》

下面我们构建我们项目的骨架,假定我们的项目为verticalmarket的一个项目,那么我们知道这个父工程下面我们要为其建立子模块,主要是把表示层、业务层及持久层分为不同的模块,其项目结构大致如下:

目录结构代码






verticalmarket-dal

verticalmarket-manager

verticalmarket-service

verticalmarket-config

verticalmarket-web

当然结构可以随意,按照你们自己约定俗成的就可以,这个仅为一个例子,下面就让我们开始创建这个工程,当然Maven的一

些基础知识我不在说明了,可以看下Sonatype公司的教程 Maven权威指南

1、构建verticalmarket的父母录,在你的任意目录下,打开shell窗口(Windows的cmd),输入命令:

命令行代码

mvn archetype:create -DgroupId=com.tkz.verticalmarket -DartifactId=verticalmarket


2、在生成的verticalmarket文件夹下面我们可以看到一个src文件夹和一个pom.xml,删除src文件夹,然后修改pom文件

Xml代码

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion>
<groupId>com.tkz.verticalmarket</groupId>
<artifactId>verticalmarket</artifactId>
<packaging>pom</packaging>
<version>1.0</version>
<name>verticalmarket</name>
<url>http://maven.apache.org</url>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.0</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>


其中修改的重点为打包方式改为pom形式,这也就意味这这是一个父工程,另外版本号默认是SNAPSHOT意思是快照的意思,就是项目开发中的意思,你要是看着不爽可以把它删掉,另外需要说明一下dependencyManagement标签,这个标签表示子类可以隐式的继承父pom文件的依赖库,在子pom中不需要指定版本号

,推荐这样,这样可以方便开发,你要修改什么依赖的版本只需要更改父pom就可以了,dependencies是显示继承,你要是在

子pom中声明,就必须写明版本号,不写默认就继承了。

3、下面我们构建子工程项目,进入verticalmarket目录下,输入命令:

命令行代码

mvn archetype:create -DgroupId=com.tkz.verticalmarket -DartifactId=verticalmarket-dal -Dpackage=com.tkz.verticalmarket.dal
mvn archetype:create -DgroupId=com.tkz.verticalmarket -DartifactId=verticalmarket-dal -Dpackage=com.tkz.verticalmarket.dal


然后在父目录下面就生成了verticalmarket-dal子工程,此时父pom文件自动添加项目关系:

Xml代码

<modules>
<module>verticalmarket-dal</module>
</modules>


这就表示这个工程是verticalmarket子工程,同样道理,其他命令如下:

命令行代码

mvn archetype:create -DgroupId=com.tkz.verticalmarket -DartifactId=verticalmarket-manager -Dpackage=com.tkz.verticalmarket.manager

mvn archetype:create -DgroupId=com.tkz.verticalmarket -DartifactId=verticalmarket-service -Dpackage=com.tkz.verticalmarket.service

mvn archetype:create -DgroupId=com.tkz.verticalmarket -DartifactId=verticalmarket-config -Dpackage=com.tkz.verticalmarket.config

mvn archetype:create -DgroupId=com.tkz.verticalmarket -DartifactId=verticalmarket-web -Dpackage=com.tkz.verticalmarket.web -DarchtypeArtifactId=maven-archetype-webapp


最后的-DarchetypeArtifactId=maven-archtype-webapp,表示这个是web程序结构,其他的默认就是java程序结构

4、然后可以执行命令:

命令行代码

mvn eclipse:clean eclipse:eclipse


即生成了eclipse结构,导入到eclipse中你既可以看到你的一个多模块程序,到目前为止这个程序骨架就算搭建完成了,下一步我们考虑如何整合SSI程序到这个多模块程序中。

手把手构建Maven企业级应用(整合SSI框架)《3》

下面我们进行SSI整合到Maven构建的程序之中,首先你需要选定你需要整合的版本,因为Maven依赖关系是需要指定Version的,下面是我整合所需要的SSI版本(我用Maven的依赖关系表示):

<!--Spring-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.6</version>
</dependency>
<!--Ibatis-->
<dependency>
<groupId>org.apache.ibatis</groupId>
<artifactId>ibatis-sqlmap</artifactId>
<version>2.3.4.726</version>
</dependency>
<!--Struts2-->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.1.8.1</version>
</dependency>


当然有的新手可能会问,有些依赖我怎么知道Maven的官方依赖中有没有呢,我怎么知道他有没有这个版本的呢,其实解决办法也很简单,大致可以分为两种:

1、去Google上面搜索,你可以这样搜索会更容易搜些:例如我们准备搜下spring的版本,可以这样写关键词的“maven spring repository”,这样搜索记录的第一条基本上就是的。

2、自己在Maven本地的仓库中建立依赖关系,默认是在.m2/repository文件夹下面,其中如何建立我不在详细介绍,按照默认的样式建就可以的,如果是自己生成的Jar依赖的话,就必须用这种形式了。

那行,下面我们首先进行Spring 所需的依赖配置,首先你在你的父Pom中的dependencies标签下面写上上述Spring的dependency,然后你执行命令mvn eclipse:clean eclipse:eclipse,然后在你的eclipse的目录结构中就会spring-2.5.6.jar这个依赖的(ps.当然这个你要在eclipse中配置一下你的path,这里我不在赘述),同样配置Ibatis也是一样的做法,下面我们首先把spring和ibatis整合起来,其实如何整合最好的教程就是spring自带的官方reference的,你可以参考上面的配置,七大概的位置实在中间层数据访问/使用ORM工具进行数据访问(当然我的是中文的reference)。

参考上面的配置我们即可配置一个demo,当然在这里我们需要主要的是xml文件我们为了统一,我们都会放在verticalmarket-config子工程下面,所以让我们在verticalmarket-dal中引用这些xml配置文件的时候我们要配置项目依赖的,其配置和配置第三方包依赖差不多,下面是我的依赖:

<dependency>
<groupId>com.tkz.verticalmarket</groupId>
<artifactId>verticalmarket-config</artifactId>
<version>1.0</version>
</dependency>


至于其他的一些灵活配置,大家最好看Maven的官方文档资料,最重要的是多动手实践,这样子才会发现问题,更好的解决问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: