springcloud作为现在Java端最流行的微服务架构,可以说是Java程序员必学的一门知识,而整个springcloud系列中又包含了许多的子项目,比如注册中心、网关、服务调用、负载均衡等相关项目,在搭建自己的微服务项目时你首先需要学会的就是如何设置一个合适的项目依赖关系,本文以Maven为例教你如何搭建一个Springcloud的父子项目结构。
父项目目录结构
父项目目录
新建一个子项目
父子项目目录结构
配置父项目的maven依赖
在父项目的pom文件中设置公共依赖和springcloud版本定义,内容如下:
<?xml version="1.0" encoding="UTF-8"?> 4.0.0 com.huangtl springcloud-parent 1.0-SNAPSHOT gateway pom 1.8 org.springframework.boot spring-boot-starter-parent 2.3.3.RELEASE org.springframework.cloud spring-cloud-dependencies Hoxton.SR8 pom import cn.hutool hutool-all 5.1.3 org.springframework.boot spring-boot-maven-plugin repackage spring-milestones Spring Milestones https://repo.spring.io/milestone false
主要设置了四个部分:
- 定义父项目基本信息,打包格式为pom,设置了子项目标签
- 设置了继承了固定版本的 spring-boot-starter-parent 依赖
- 设置了节点定义了springcloud的版本
- 引入一个工具包公共依赖,这样子项目就不需要引入了
其中重点在于定义了springcloud版本和对应的springboot的版本,这样在子项目引入springcloud和springboot相关依赖时都不需要设置版本号了,会自动寻找对应的版本,解决了我们冲突的烦恼。
gateway网关子项目依赖配置
<?xml version="1.0" encoding="UTF-8"?> springcloud-parent com.huangtl 1.0-SNAPSHOT 4.0.0 gateway org.springframework.cloud spring-cloud-starter-gateway
注意我们这里引入了spring-cloud-starter-gateway网关依赖,但是不需要设置版本号,因为我们在父项目定义了springcloud版本管理和对应的springboot的版本会自动寻找对应依赖的版本。
pom文件生效后可以看到子项目已经引入了父项目中定义的公共依赖和对应父项目正确版本的gateway网关依赖。
子项目maven依赖效果
以上是就是在搭建springcloud父子项目时的maven配置思路了,后面我会持续更新springcloud的一些子项目如网关、注册中心、负载均衡、服务间调用等实践内容,希望本文对你有所帮助。