1. 开头
微服务将一个项目拆分为多个服务时,如果每个服务都创建一个新的工程项目,那么项目的管理会变得复杂。为了解决这个问题,可以使用IntelliJ IDEA的多模块功能来优化项目的结构。
在一个工程目录下创建多个子模块,每个子模块负责独立的功能,通常可以将每个子模块视为一个微服务,通过这种方式来组织和管理项目,将不同的模块独立开发、测试和部署,极大地提高项目的可维护性和开发效率。
2. 创建项目
打开IntelliJ IDEA,选择 “File” -> “New” -> “Project”。
选择Java、Maven、JDK8,输入包名和项目名称。
- IntelliJ IDEA 有中文插件,英文不行的同学可以下载中文插件。(插件里面搜索Chinese)。
pom.xml
删除其它文件,只保留pom.xml
。
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>spring-cloud-demo</artifactId>
<version>1.0.0</version>
<packaging>pom</packaging>
<name>spring-cloud-demo</name>
<description>spring-cloud-demo</description>
</project>
当将 配置为 “pom” 后,Maven会将该项目识别为一个聚合项目或者父项目,而不会生成任何可执行文件。这意味着该项目不会编译、打包和发布任何实际的代码,仅仅作为组织和管理其他子模块的容器。
3. 创建子模块
如上我们创建了一个名称叫做spring-cloud-demo
的Maven项目,它是一个聚合项目,我们将在此项目下创建一个个独立的模块。
如下:在项目spring-cloud-demo
根目录上右键,选择 “New” -> “Module”,创建一个Spring Initializr 类型的 子模块。
- 如果很慢可以修改服务器 url https://start.aliyun.com
如下可以创建多个子模块:
4. pom.xml下添加module
子模块创建完成后需要在根目录下的pom.xml
文件下添加module
。
<modules>
<module>module1</module>
<module>parent</module>
<module>xxxx</module>
</modules>
5. 总结
多模块项目提供了一种更为模块化、可维护、可扩展的项目管理方式,适用于大型的或者中等规模的项目,可以增强项目的组织性和项目构建的效率。
我们后面的教程都是创建一个个独立的子模块,如consumer-service
、provider-service
、gateway-service
等。
完整的代码在仓库的sourcecode/spring-cloud-demo
目录下。