先来看一下我的目录结构,想看架构演化呢,请看我的这篇博客:[dubbo]浅谈dubbo-简介
很明显,这是一个maven项目,关于maven的系列博客,请点这里:点击打开链接
后台工程搭建分析
kwy-parent:父工程,打包方式pom,管理jar包的版本号。
项目中所有工程都应该继承父工程。
--kwy-common:通用的工具类通用的pojo。打包方式jar
--dubbo-parent:项目一,ssm小demo,聚合工程。Pom工程
--dubbo-web:打包方式war 表现层
---controller:所有的control类
--dubbo-api:打包方式jar
---entity 实体
---facade 接口,方便其他服务调用它
--dubbo-service:打包方式:war
---facade.impl
---service
---service接口
---service实现
---dao
---dao接口
工程搭建
kwy-parent,就是一个我所有项目需要的jar,我都定义在了里面, 现在我只有一个dubbo-parent,后面可能会有很多的项目.那么kwy-parent就算是一个集合所有的jar版本的pom文件.kwy-common,就是一个tool工具吧, 所有常用的工具类,我就放到这个里面
我们先来看看pom文件
kwy-parent
<?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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.tgb.kwy</groupId>
<artifactId>kwy-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<modules>
<module>dubbo-parent</module>
<module>kwy-common</module>
</modules>
<name>${project.artifactId}</name>
<packaging>pom</packaging>
<description>The parent project of myself</description>
<inceptionYear>2018</inceptionYear>
<organization>
<name>kwy</name>
<url>http://blog.csdn.net/kwy15732621629</url>
</organization>
<properties>
<!-- 私服器地址 -->
<nexus.url>http://192.168.22.50:8081/nexus/content/repositories</nexus.url>
<!-- 构建项目时必须配置,用于maven中的文件拷贝 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<amqp.version>4.2.2</amqp.version>
<alibaba.version>1.2.9</alibaba.version>
</properties>
<!-- 项目部署信息===end -->
<dependencyManagement> <!-- 用于父项目配置共同的依赖关系 -->
<dependencies>
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${springfox-swagger2.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
再来看dubbo-parent的pom文件
dubbo-parent继承了kwy-parent.和kwy-common是属于聚合工程,同时dubbo-parent有三个子模块,所以dubbo-parent既是聚合工程,也是继承工程, 关于聚合和继承的关系,请看我的这篇博客:maven聚合与继承
<?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/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>kwy-parent</artifactId>
<groupId>com.tgb.kwy</groupId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>dubbo-parent</artifactId>
<packaging>pom</packaging>
<modules>
<module>dubbo-service</module>
<module>dubbo-api</module>
<module>dubbo-web</module>
</modules>
</project>
打包为war的需要补全目录结构,在webapp下添加WEB-INF目录,和web.xml文件,位置不可变,必须得在这里,因为这个是Tomcat来识别的入口.
有了一个空架子,下面就是一步步添加东西了.