一、父项目(tool)搭建
1、File->New->Project
 idea搭建spring cloud项目-父子项目_java](https://file.cfanz.cn/uploads/png/2022/06/20/2/62c0bL1200.png)
2、选择maven,其他什么都不选择,直接next
 idea搭建spring cloud项目-父子项目_java_02](https://file.cfanz.cn/uploads/png/2022/06/20/2/08Dae2UH9F.png)
3、选择存储位置、输入groupId和ArtifactId,点击Finish
 idea搭建spring cloud项目-父子项目_springcloud_03](https://file.cfanz.cn/uploads/png/2022/06/20/2/Z50O9166SX.png)
4、删除src目录
 idea搭建spring cloud项目-父子项目_java_04](https://file.cfanz.cn/uploads/png/2022/06/20/2/PN4bb2Wb1G.png)
5、修改pom.xml文件,加入下面的代码
<packaging>pom</packaging>
<description>
父工程 统一版本的控制 所有的工程都应该继承父工程
</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.2</version>
</parent>
<dependencies>
<!--fastjson-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.51</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
</dependencies>
<!--springcloud的版本控制-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2020.0.3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>6、父项目就搭建成功了,以后有公共的依赖可以放到父项目
二、子项目(spring-cloud-config)配置中心搭建
1、在父项目(tool)上右键,New->Module
 idea搭建spring cloud项目-父子项目_springcloud_05](https://file.cfanz.cn/uploads/png/2022/06/20/2/B6IbZ0H19d.png)
2、选择Spring Initializr,点击Next
 idea搭建spring cloud项目-父子项目_springcloud_06](https://file.cfanz.cn/uploads/png/2022/06/20/2/13dFa47K38.png)
3、填写group、Artifact、选择java版本,Next
 idea搭建spring cloud项目-父子项目_springcloud_07](https://file.cfanz.cn/uploads/png/2022/06/20/2/60P4f021X4.png)
4、选择spring could config,勾选config server,Next
 idea搭建spring cloud项目-父子项目_springcloud_08](https://file.cfanz.cn/uploads/png/2022/06/20/2/2KeB1LdD91.png)
5、输入Module name,点击Finish
 idea搭建spring cloud项目-父子项目_springcloud_09](https://file.cfanz.cn/uploads/png/2022/06/20/2/42bedJA55C.png)
6、修改父项目pom.xml文件,加入子项目service-config-9000
<modules>
<module>service-config-9000</module>
</modules> idea搭建spring cloud项目-父子项目_java_10](https://file.cfanz.cn/uploads/png/2022/06/20/2/Bd29C13eCD.png)
7、修改service-config-9000的pom.xml文件,删除不必要的东西,留下
<parent>
<groupId>com.tool.pc</groupId>
<artifactId>tool</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>service-config-9000</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>service-config-9000</name>
<description>子项目spring-cloud-config</description>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
</dependencies> idea搭建spring cloud项目-父子项目_java_11](https://file.cfanz.cn/uploads/png/2022/06/20/2/eO691dA116.png)
8、在启动类加上@EnableConfigServer
 idea搭建spring cloud项目-父子项目_java_12](https://file.cfanz.cn/uploads/png/2022/06/20/2/b6014M0aM9.png)
9、将application.properties修改为application.yml,并加入如下内容
server:
port: 9000 #服务端口
spring:
application:
name: service-config-9000 #应用名称
cloud:
config:
server:
native:
search-locations: classpath:/other #本地的配置文件路径
profiles:
active: native #本地配置文件必须开启本地环境这里使用本地的配置文件,也可以修改为使用git地址的 在resources目录下新建一个文件夹other,用于统一存放配置文件
 idea搭建spring cloud项目-父子项目_java_13](https://file.cfanz.cn/uploads/png/2022/06/20/2/EB1EbdRa6B.png)
配置中心config就搭建好了
三、子项目注册中心(eureka)搭建
1、在父项目(tool)上右键,New->Module
 idea搭建spring cloud项目-父子项目_springcloud_14](https://file.cfanz.cn/uploads/png/2022/06/20/2/B6IbZ0H19d.png)
2、选择Spring Initializr,点击Next
 idea搭建spring cloud项目-父子项目_springcloud_15](https://file.cfanz.cn/uploads/png/2022/06/20/2/13dFa47K38.png)
3、填写group、Artifact、选择java版本,Next
 idea搭建spring cloud项目-父子项目_springcloud_16](https://file.cfanz.cn/uploads/png/2022/06/20/2/M975XT683a.png)
4、选择spring cloud discovery,勾选eureka server,点击Next
 idea搭建spring cloud项目-父子项目_springcloud_17](https://file.cfanz.cn/uploads/png/2022/06/20/2/982125QB4Y.png)
5、默认,点击Finish
 idea搭建spring cloud项目-父子项目_java_18](https://file.cfanz.cn/uploads/png/2022/06/20/2/2b7Q5VeVO3.png)
6、修改父项目pom.xml文件,加入module(service-eureka-9001)
 idea搭建spring cloud项目-父子项目_springcloud_19](https://file.cfanz.cn/uploads/png/2022/06/20/2/617J702OJ2.png)
7、修改eureka的pom.xml,删除无用的东西
<parent>
<groupId>com.tool.pc</groupId>
<artifactId>tool</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>service-eureka-9000</artifactId>
<description>eureka注册中心</description>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>8、在配置中心config下的other文件夹新建两个yml文件,如下
service-eureka-config.yml,注册中心的配置文件
server:
port: 9001
spring:
profiles: dev
application:
name: service-eureka-9001
eureka:
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl: #
defaultZone: http://127.0.0.1:9001/eureka/common-config.yml,公共的配置文件,可以配置数据库地址、eureka服务地址等
eureka:
client:
service-url:
defaultZone: http://127.0.0.1:9001/eureka
instance:
prefer-ip-address: true9、在注册中心新建bootstrap.yml文件
spring:
cloud:
config:
name: common-config,service-eureka-config
profile: dev #这个可以通过参数控制版本,也可以写死多个值,用逗号分隔
uri: http://127.0.0.1:9000/
label: dev10、在启动类加上@EnableEurekaServer
 idea搭建spring cloud项目-父子项目_springcloud_20](https://file.cfanz.cn/uploads/png/2022/06/20/2/T1221a3K81.png)
四、子项目服务网关(gateway)搭建
1、在父项目(tool)上右键,New->Module
 idea搭建spring cloud项目-父子项目_java_21](https://file.cfanz.cn/uploads/png/2022/06/20/2/B6IbZ0H19d.png)
2、选择Spring Initializr,点击Next
 idea搭建spring cloud项目-父子项目_java_22](https://file.cfanz.cn/uploads/png/2022/06/20/2/13dFa47K38.png)
3、填写group、Artifact、选择java版本,Next
 idea搭建spring cloud项目-父子项目_springcloud_23](https://file.cfanz.cn/uploads/png/2022/06/20/2/bX4M777776.png)
4、选择spring cloud routing,勾选gateway
 idea搭建spring cloud项目-父子项目_java_24](https://file.cfanz.cn/uploads/png/2022/06/20/2/8cYf93AT66.png)
5、默认
 idea搭建spring cloud项目-父子项目_springcloud_25](https://file.cfanz.cn/uploads/png/2022/06/20/2/bYG693D2M0.png)
6、在父项目加入module
 idea搭建spring cloud项目-父子项目_java_26](https://file.cfanz.cn/uploads/png/2022/06/20/2/b7036V757K.png)
7、修改gateway的pom.xml文件
<parent>
<groupId>com.tool.pc</groupId>
<artifactId>tool</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>service-gateway-9002</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>service-gateway-9002</name>
<description>服务网关</description>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
</dependencies>8、在配置中心(config)下新建文件service-gateway-config.yml
server:
port: 9002
spring:
profiles: dev
application:
name: service-gateway-9002 idea搭建spring cloud项目-父子项目_java_27](https://file.cfanz.cn/uploads/png/2022/06/20/2/8aKa10866a.png)
9、在gateway下新建文件bootstrap.yml
spring:
cloud:
config:
name: common-config,service-gateway-config
profile: dev #这个可以通过参数控制版本,也可以写死多个值,用逗号分隔
uri: http://127.0.0.1:9000/
label: dev10、在启动类加上@EnableEurekaClient
 idea搭建spring cloud项目-父子项目_java_28](https://file.cfanz.cn/uploads/png/2022/06/20/2/L28da792G7.png)
五、启动运行
依次启动config、eureka、gateway,看gateway是否注册到eureka
 idea搭建spring cloud项目-父子项目_springcloud_29](https://file.cfanz.cn/uploads/png/2022/06/20/2/0f41S01070.png)








