一、父项目(tool)搭建
1、File->New->Project
2、选择maven,其他什么都不选择,直接next
3、选择存储位置、输入groupId和ArtifactId,点击Finish
4、删除src目录
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
2、选择Spring Initializr,点击Next
3、填写group、Artifact、选择java版本,Next
4、选择spring could config,勾选config server,Next
5、输入Module name,点击Finish
6、修改父项目pom.xml文件,加入子项目service-config-9000
<modules>
<module>service-config-9000</module>
</modules>
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>
8、在启动类加上@EnableConfigServer
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,用于统一存放配置文件
配置中心config就搭建好了
三、子项目注册中心(eureka)搭建
1、在父项目(tool)上右键,New->Module
2、选择Spring Initializr,点击Next
3、填写group、Artifact、选择java版本,Next
4、选择spring cloud discovery,勾选eureka server,点击Next
5、默认,点击Finish
6、修改父项目pom.xml文件,加入module(service-eureka-9001)
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: true
9、在注册中心新建bootstrap.yml文件
spring:
cloud:
config:
name: common-config,service-eureka-config
profile: dev #这个可以通过参数控制版本,也可以写死多个值,用逗号分隔
uri: http://127.0.0.1:9000/
label: dev
10、在启动类加上@EnableEurekaServer
四、子项目服务网关(gateway)搭建
1、在父项目(tool)上右键,New->Module
2、选择Spring Initializr,点击Next
3、填写group、Artifact、选择java版本,Next
4、选择spring cloud routing,勾选gateway
5、默认
6、在父项目加入module
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
9、在gateway下新建文件bootstrap.yml
spring:
cloud:
config:
name: common-config,service-gateway-config
profile: dev #这个可以通过参数控制版本,也可以写死多个值,用逗号分隔
uri: http://127.0.0.1:9000/
label: dev
10、在启动类加上@EnableEurekaClient
五、启动运行
依次启动config、eureka、gateway,看gateway是否注册到eureka