目录
一、项目介绍
模拟一个商城的项目,进行项目搭建,商城包括:PC网站、APP、小程序、后台管理。采用前后端完全分离的做法,服务端JAVA项目只提供接口。
服务端项目取名:shopping-server,为父工程。
子模块为:shopping-api(接口)、shopping-bi(业务)、shopping-common(公共)。
shopping-api为启动模块,shopping-api依赖于shopping-bi,shopping-bi依赖于shopping-common。
二、创建父工程
启动IDEA,选择Create New Project或File\New\Project,开始创建新项目:
Next
Next,依赖暂时都不勾选,使用时手动添加。
指定项目目录。
项目创建完成,删除选中的几个文件夹和文件。
.gitignore
分布式版本控制系统git的配置文件,每一行可以指定一个忽略规则,意为忽略提交。
mvnw
全名是maven wrapper,保证使用Maven版本一致的工具。
.mvn
用于存放maven-wrapper.properties和相关jar包。
mvn.cmd
执行mvnw命令的cmd入口。
修改父工程项目的打包方式为pom。
<groupId>com.shopping</groupId>
<artifactId>shopping-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
为啥打包方式要改为pom,请查看Maven常用的打包(packaging)类型。
父工程创建完成。
三、搭建多模块
1、搭建shopping-api
创建模块
依赖可不选
2、搭建shopping-bi
3、搭建shopping-common
创建完,项目的文件目录结构:
4、删除不需要的文件
删除选中的文件和文件夹:
删除后:
shopping-api为启动模块,所以删除shopping-bi和shopping-common模块的Application入口,如下图选中部分(PS:resources也可以删除)。
5、多模块配置
1)父工程pom.xml配置
1、增加子模块配置:
<modules>
<module>shopping-api</module>
<module>shopping-bi</module>
<module>shopping-common</module>
</modules>
2、去除build配置项:
2)子模块pom.xml配置
指定父工程和项目间的依赖。
1、shopping-api:
指定父工程:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
改成:
<parent>
<groupId>com.shopping</groupId>
<artifactId>shopping-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
依赖于shopping-bi:
<dependency>
<groupId>com.shopping</groupId>
<artifactId>shopping-bi</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
2、shopping-bi:
指定父工程:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
改成:
<parent>
<groupId>com.shopping</groupId>
<artifactId>shopping-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
依赖于shopping-common:
<dependency>
<groupId>com.shopping</groupId>
<artifactId>shopping-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
3、shopping-common:
指定父工程:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
改成:
<parent>
<groupId>com.shopping</groupId>
<artifactId>shopping-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
6、编译运行
发现删除了的启动项还有,进配置界面删除。
运行
加个web依赖测试下
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
成功,访问会出现白页,后续文章继续完善每个模块的功能。多模块项目搭建到此结束,其他更多文章请关注此Spring Boot系列。