spring-boot多模块化分布式聚合工程项目结构建设

今天试了下搭建聚合工程,有几个误区,算是小失误,先贴上项目结构树:

这是大体项目结构:

其中common相当于spring-boot项目中的工具类

manager是系统的父工程,order-parent是整个聚合工程的父工程

pojo是java普通类相当于普通项目中的entity、domain

mapper依赖于pojo、service依赖于mapper、web依赖于service,这三个可以看成普通项目中的mapper、service、controller

再说打包,聚合工程就是pom,这里面order-parent与order-manager是pom父工程,所有的模块依赖于parent,pojo、mapper、service、webyi依赖于manager,manager依赖于common工具类mapper、pojo、service打包打成jar包,个人理解就是导入jar,web打成war包就行了

前面说pojo、mapper、service、web之间的依赖关系体现在pom文件中,如图:

然后具体每个模块要放些什么依赖根据平时大家搭建项目的爱好来,比如拿mapper来说,我的mapper里面放些mybatis、mysql、连接池之类的东西

扫描二维码关注公众号,回复: 4631174 查看本文章
<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>
	<parent>
		<groupId>com.order</groupId>
		<artifactId>order-manager</artifactId>
		<version>0.0.1-SNAPSHOT</version>
	</parent>
	<artifactId>order-manager-mapper</artifactId>
	<!-- 依赖管理 -->
	<dependencies>
		<dependency>
			<groupId>com.order</groupId>
			<artifactId>order-manager-pojo</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
		<!-- Mybatis -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
		</dependency>
		<dependency>
			<groupId>com.github.miemiedev</groupId>
			<artifactId>mybatis-paginator</artifactId>
		</dependency>
		<!-- 分页 -->
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper</artifactId>
		</dependency>
		<!-- MySql -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
		</dependency>
		<!-- 连接池 -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
		</dependency>
	</dependencies>
	<!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
	<build>
		<resources>
			<resource>
				<directory>src/main/java</directory>
				<includes>
					<include>**/*.properties</include>
					<include>**/*.xml</include>
				</includes>
				<filtering>false</filtering>
			</resource>
		</resources>
	</build>
</project>

pojo的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>
  <parent>
    <groupId>com.order</groupId>
    <artifactId>order-manager</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>order-manager-pojo</artifactId>
</project>

service的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>
  <parent>
    <groupId>com.order</groupId>
    <artifactId>order-manager</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>order-manager-service</artifactId>
  <dependencies>
  		<dependency>
  			<groupId>com.order</groupId>
  			<artifactId>order-manager-mapper</artifactId>
  			<version>0.0.1-SNAPSHOT</version>
  		</dependency>
  		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aspects</artifactId>
		</dependency>
  </dependencies>
</project>

web的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>
  <parent>
    <groupId>com.order</groupId>
    <artifactId>order-manager</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>order-manager-web</artifactId>
  <packaging>war</packaging>
  <!-- 依赖管理 -->
  <dependencies>
  	<dependency>
  		<groupId>com.order</groupId>
  		<artifactId>order-manager-service</artifactId>
  		<version>0.0.1-SNAPSHOT</version>
  	</dependency>
  	<!-- JSP相关 -->
	<dependency>
		<groupId>jstl</groupId>
		<artifactId>jstl</artifactId>
	</dependency>
	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>servlet-api</artifactId>
		<scope>provided</scope>
	</dependency>
	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>jsp-api</artifactId>
		<scope>provided</scope>
	</dependency>
	<!-- 文件上传组件 -->
	<dependency>
		<groupId>commons-fileupload</groupId>
		<artifactId>commons-fileupload</artifactId>
	</dependency>
  </dependencies>
</project>

我们运行项目要在manager上run,因此在这里贴上manager的pom,里面有tomcat的插件配置、我也找了下官网上并没有tomcat8的插件,但是有个人配的tomcat,有想玩的可以去找一下:

<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>
	<parent>
		<groupId>com.order</groupId>
		<artifactId>order-parent</artifactId>
		<version>0.0.1-SNAPSHOT</version>
	</parent>
	<groupId>com.order</groupId>
	<artifactId>order-manager</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>pom</packaging>
	<dependencies>
		<dependency>
			<groupId>com.order</groupId>
			<artifactId>order-common</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
	</dependencies>
	<modules>
		<module>order-manager-pojo</module>
		<module>order-manager-mapper</module>
		<module>order-manager-service</module>
		<module>order-manager-web</module>
	</modules>
	<build>
		<plugins>
			<!-- 配置Tomcat插件 -->
			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<configuration>
					<port>8080</port>
					<path>/</path>
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>

这里可以看到

mapper、pojo、service、web依赖于manager,在创建这四个模块的时候选择

然后在order-manager里面就会出现同样的目录、删了任何一个另外一个也会消失

表现层可以创建webapp-WEBINF-web.xml和index.jsp、index.html

完了可以在index写一个东西,比如:配置成功

在这之前需要install一下父工程,将他们放在本地maven仓库上,有两个父工程哦!!!

然后在manager上run as →maven  build 在Goals一栏输入:clean Tomcat7:run,到这里出现这样就成功搭建了一个微服务聚合工程项目

猜你喜欢

转载自blog.csdn.net/MengDiL_yl/article/details/81368637
今日推荐