模拟一个商城的项目,进行项目搭建,商城包括: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)类型。 父工程创建完成。
创建模块 依赖可不选
创建完,项目的文件目录结构:
删除选中的文件和文件夹: 删除后: shopping-api为启动模块,所以删除shopping-bi和shopping-common模块的Application入口,如下图选中部分(PS:resources也可以删除)。
1、增加子模块配置:
<modules> <module>shopping-api</module> <module>shopping-bi</module> <module>shopping-common</module> </modules>
2、去除build配置项:
指定父工程和项目间的依赖。 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: 指定父工程:
依赖于shopping-common:
<dependency> <groupId>com.shopping</groupId> <artifactId>shopping-common</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency>
3、shopping-common: 指定父工程:
发现删除了的启动项还有,进配置界面删除。 运行 加个web依赖测试下
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
成功,访问会出现白页,后续文章继续完善每个模块的功能。多模块项目搭建到此结束,其他更多文章请关注此Spring Boot系列。
代码地址:https://github.com/joinclear/shopping-server.git