【Dubbo分布式服务框架】5.传统测试工程的搭建1
来源:互联网 发布:java项目开发流程图 编辑:程序博客网 时间:2024/05/21 19:23
我们在上一节介绍了Dubbo的基础知识,但是对于开发者来说,不进行实践只讲解理论,是不可能完全理解某门技术的。这里我们就以一个项目的改造为驱动,来给大家展现一下传统Web工程,与使用Dubbo应用的工程的区别。通过动手改变项目的架构,开让大家初步理解Dubbo在开发和使用中扮演的角色,为Dubbo的深入学习打下基础。
我们在这里先编写一个Maven结构的WebProject工程,用于后期的改造。
工程需求:
对仓库货物信息进行增删改查的简单工程
工程架构:
SpringMVC框架以及MyBatis框架
数据库:
MySQL
开发工具:
MyEclipse2014
表结构:
只有一张表,commodity
Java环境:
JDK1.8
(1)安装以及配置Maven
由于我们这个工程是Maven工程,所以首先我们要先下载Maven:
下载地址http://maven.apache.org/download.cgi
我们这里下载3.5.0的版本:
然后将其解压至D盘:
然后在环境变量中添加Maven的Home:
设置为Maven的文件夹所在目录即可。
然后在Path中添加bin所在目录:
之后在在Windows命令提示符下,输入mvn -v,出现以下结果证明
Maven安装成功:
然后在MyEclipse中配置我们的Maven插件重新定位到我们刚刚安装的目录:
(2)在MyEclipse中创建Maven工程
我们要创建两个工程,一个是包含所有依赖的Maven工程web-parent,另外一个就是我们的应用工程web-commodity。这里web-parent主要提供Web工程所需要的依赖jar包,它是为了让其它应用去引用它,使得其它应用的依赖清晰化,之和核心业务的依赖有关。
首先我们创建web-parent工程;
我们选择Maven工程进行创建:
这里我们勾选上Create a simple project (不使用骨架)
这里的Packing我们选择jar的形式,因为我们只需要它提供主要依赖服务即可。
然后我们创建完成的工程结构如下:
为了方便以后的Dubbo整合,我们将工程的jre更换为1.8的:
接下来我们编写POM文件,将SpringMVC与MyBatis的常用依赖引入,编写之后的POM文件如下:
保存pom文件后,我们的依赖被加入classpath下:
因为我们这个工程是用来做核心依赖的,所以我们这里添加一些常用的工具类:
里面包含了Base64工具类,字节处理工具类,日期处理工具类,日志工具类,Md5加密工具类,文件处理工具类,字符串处理工具类,上传工具类等。
常用工具类下载链接:http://pan.baidu.com/s/1pJLSczD
然后我们创建我们的Maven的Web工程,该工程就是我们的商品管理的项目工程web-commodity了,会以web-project工程为核心依赖。
同样是创建Maven工程,但是我们是Web工程,所以选择打包方式为war的形式:
刚创建时pom文件可能会报错,那是因为我们选择了war的打包形式,但是没有添加war的配置maven-war-plugin,我们添加后pom文件如下:
然后我们在POM文件中添加刚才的核心依赖工程web-project:
这时我们不仅获得了SpringMVC与MyBatis工程需要的所有依赖,而且获取了web-parent工程的依赖:
由于我们的项目要使用MyEclipse发布到tomcat下面,这里我们需要先把项目转成dynamic web project。我们在项目上点击右键,选择properties并找到Project Facets:
然后勾选Dynamic Web Module 并点击ok:
然后我们的Maven工程结构就变成dynamic web project了:
我们在WEB-INF下添加web.xml配置文件:
然后改写以下Web工程默认的index.jsp:
我们将该工程发布到tomcat中试验一下:
说明我们的核心依赖工程web-parent和Web工程web-commodity创建成功,并且成功发布到tomcat中加载。
我们在这里先编写一个Maven结构的WebProject工程,用于后期的改造。
工程需求:
对仓库货物信息进行增删改查的简单工程
工程架构:
SpringMVC框架以及MyBatis框架
数据库:
MySQL
开发工具:
MyEclipse2014
表结构:
只有一张表,commodity
Java环境:
JDK1.8
(1)安装以及配置Maven
由于我们这个工程是Maven工程,所以首先我们要先下载Maven:
下载地址http://maven.apache.org/download.cgi
我们这里下载3.5.0的版本:
然后将其解压至D盘:
然后在环境变量中添加Maven的Home:
设置为Maven的文件夹所在目录即可。
然后在Path中添加bin所在目录:
之后在在Windows命令提示符下,输入mvn -v,出现以下结果证明
Maven安装成功:
然后在MyEclipse中配置我们的Maven插件重新定位到我们刚刚安装的目录:
(2)在MyEclipse中创建Maven工程
我们要创建两个工程,一个是包含所有依赖的Maven工程web-parent,另外一个就是我们的应用工程web-commodity。这里web-parent主要提供Web工程所需要的依赖jar包,它是为了让其它应用去引用它,使得其它应用的依赖清晰化,之和核心业务的依赖有关。
首先我们创建web-parent工程;
我们选择Maven工程进行创建:
这里我们勾选上Create a simple project (不使用骨架)
这里的Packing我们选择jar的形式,因为我们只需要它提供主要依赖服务即可。
然后我们创建完成的工程结构如下:
为了方便以后的Dubbo整合,我们将工程的jre更换为1.8的:
更换后:
接下来我们编写POM文件,将SpringMVC与MyBatis的常用依赖引入,编写之后的POM文件如下:
<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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.com.commoditySystem</groupId> <artifactId>web-parent</artifactId> <version>0.0.1-SNAPSHOT</version> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <!-- spring版本号 --> <spring.version>4.2.5.RELEASE</spring.version> <!-- mybatis版本号 --> <mybatis.version>3.2.8</mybatis.version> <!-- mysql驱动版本号 --> <mysql-driver.version>5.1.29</mysql-driver.version> <!-- log4j日志包版本号 --> <slf4j.version>1.7.18</slf4j.version> <log4j.version>1.2.17</log4j.version> </properties> <dependencies> <!-- 添加jstl依赖 --> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>7.0</version> </dependency> <!-- 添加junit4依赖 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <!-- 指定范围,在测试时才会加载 --> <scope>test</scope> </dependency> <!-- 添加spring核心依赖 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-oxm</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency> <!-- 添加mybatis依赖 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <!-- 添加mybatis/spring整合包依赖 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.2</version> </dependency> <!-- 添加mysql驱动依赖 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql-driver.version}</version> </dependency> <!-- 添加数据库连接池依赖 --> <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.2.2</version> </dependency> <!-- 添加fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.1.41</version> </dependency> <!-- 添加日志相关jar包 --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${slf4j.version}</version> </dependency> <!-- log end --> <!-- 映入JSON --> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.13</version> </dependency> <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.8.0</version> </dependency> <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.8.0</version> </dependency> <!-- 文件上传相关依赖 --> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.9</version> </dependency> <!-- https://mvnrepository.com/artifact/com.github.abel533/ECharts --> <dependency> <groupId>com.github.abel533</groupId> <artifactId>ECharts</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.5</version> <scope>compile</scope> <optional>true</optional> </dependency> <dependency> <groupId>net.sf.jxls</groupId> <artifactId>jxls-core</artifactId> <version>1.0.5</version> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>上面分别包含了jstl依赖 、junit4依赖、spring核心依赖、mybatis依赖、mybatis/spring整合包依赖、mysql驱动依赖、数据库连接池依赖、日志相关依赖、JSON相关依赖(fastjson)、文件上传相关依赖等。
保存pom文件后,我们的依赖被加入classpath下:
因为我们这个工程是用来做核心依赖的,所以我们这里添加一些常用的工具类:
里面包含了Base64工具类,字节处理工具类,日期处理工具类,日志工具类,Md5加密工具类,文件处理工具类,字符串处理工具类,上传工具类等。
常用工具类下载链接:http://pan.baidu.com/s/1pJLSczD
然后我们创建我们的Maven的Web工程,该工程就是我们的商品管理的项目工程web-commodity了,会以web-project工程为核心依赖。
同样是创建Maven工程,但是我们是Web工程,所以选择打包方式为war的形式:
刚创建时pom文件可能会报错,那是因为我们选择了war的打包形式,但是没有添加war的配置maven-war-plugin,我们添加后pom文件如下:
<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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.com.commoditySystem</groupId> <artifactId>web-commodity</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <configuration> <version>3.1</version> </configuration> </plugin> </plugins> </build></project>同样我们把jre的版本改为1.8,为后续Dubbo改造做准备。
然后我们在POM文件中添加刚才的核心依赖工程web-project:
<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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.com.commoditySystem</groupId> <artifactId>web-commodity</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <dependencies> <dependency> <groupId>cn.com.commoditySystem</groupId> <artifactId>web-parent</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <configuration> <version>3.1</version> </configuration> </plugin> </plugins> </build></project>
这时我们不仅获得了SpringMVC与MyBatis工程需要的所有依赖,而且获取了web-parent工程的依赖:
由于我们的项目要使用MyEclipse发布到tomcat下面,这里我们需要先把项目转成dynamic web project。我们在项目上点击右键,选择properties并找到Project Facets:
然后勾选Dynamic Web Module 并点击ok:
然后我们的Maven工程结构就变成dynamic web project了:
我们在WEB-INF下添加web.xml配置文件:
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list></web-app>
然后改写以下Web工程默认的index.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>Home</title> </head> <body> 这里是web-commodity的首页<br> </body></html>
我们将该工程发布到tomcat中试验一下:
说明我们的核心依赖工程web-parent和Web工程web-commodity创建成功,并且成功发布到tomcat中加载。
下一篇我们将在Web工程上构建SpringMVC和MyBtais的开发环境。
转载请注明出处:http://blog.csdn.net/acmman/article/details/74780968
阅读全文
0 0
- 【Dubbo分布式服务框架】5.传统测试工程的搭建1
- 分布式服务框架 dubbo/dubbox 的搭建
- 分布式服务框架DUBBO(二)搭建dubbo服务-zookeeper与dubbo-admin的安装
- 【Java】Dubbo+zookeeper搭建分布式服务框架
- Dubbo分布式服务框架
- dubbo分布式服务框架
- 分布式服务框架DUBBO
- Dubbo分布式服务框架
- Dubbo分布式服务框架
- 分布式服务框架 Dubbo
- 分布式服务框架--Dubbo
- 分布式服务框架Dubbo
- Dubbo 分布式服务框架
- dubbo分布式服务框架
- 分布式服务框架(dubbo)
- dubbo分布式服务框架
- Dubbo分布式服务框架入门(附工程)
- Dubbo分布式服务框架入门(附工程)
- 慢思考
- HTML+CSS进阶学习摘录(Display属性)(三)
- 感知机
- python虚拟环境
- java中的组合关系
- 【Dubbo分布式服务框架】5.传统测试工程的搭建1
- (27)模块方法模式(理解抽象、继承和final)
- 安卓开发点击CheckBox显示明文密码
- 洛谷 P3478 [POI2008]STA-Station(bzoj P1131 [POI2008]STA-Station)
- 杂项
- 计算机位运算
- java并发编程实战-基础构建模块3
- C 语言返璞归真: 指针篇番外
- EJB到底是什么?