SpringCloud 2020版本配置与环境搭建教程详解
简介
Spring Cloud 作为微服务框架之一,在微服务架构中扮演着重要角色。本文将介绍Spring Cloud 2020版本的环境搭建教程,帮助你搭建基于Spring Cloud微服务架构的项目。
步骤
1. 准备环境
首先需要准备以下环境:
- JDK 1.8+
- Maven
- IDE(推荐使用IntelliJ IDEA)
2. 创建Spring Boot项目
在IDE中创建一个Spring Boot项目,添加以下依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
3. 配置Eureka Server
在启动类上添加@EnableEurekaServer
注解,配置文件中添加如下内容:
server:
port: 8761
eureka:
instance:
hostname: localhost
client:
register-with-eureka: false
fetch-registry: false
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
其中,server.port
指定Eureka Server所在端口,eureka.instance.hostname
指定Eureka Server的主机名,register-with-eureka
和fetch-registry
分别开启Eureka Client的注册和发现功能。
4. 配置Eureka Client
在需要注册的微服务项目中添加@EnableEurekaClient
注解,配置文件中添加如下内容:
server:
port: 8081
spring:
application:
name: demo-service
eureka:
instance:
prefer-ip-address: true
client:
service-url:
defaultZone: http://localhost:8761/eureka/
其中,server.port
指定微服务所在端口,spring.application.name
指定微服务名称,prefer-ip-address
指定使用IP地址进行注册。
5. 运行Eureka Server和Eureka Client
启动Eureka Server,访问http://localhost:8761/
可以看到Eureka Server的管理界面。
启动相应的微服务项目,可以在Eureka Server的管理界面中看到已经注册的微服务。
示例1
比如我们有一个demo-service
微服务提供了一个简单的接口/hello
,返回字符串Hello World!
。
1. 创建demo-service
微服务
在IDE中创建一个Spring Boot项目,添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
2. 配置demo-service
在启动类上添加@EnableEurekaClient
注解,添加简单的接口:
@RestController
public class DemoController {
@GetMapping("/hello")
public String hello() {
return "Hello World!";
}
}
3. 运行demo-service
启动demo-service
微服务,可以在Eureka Server的管理界面中看到demo-service
已经注册。
访问http://localhost:8081/hello
,可以看到返回字符串Hello World!
。
示例2
假设我们有一个user-service
微服务需要调用demo-service
微服务提供的接口。
1. 创建user-service
微服务
在IDE中创建一个Spring Boot项目,添加以下依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2. 配置user-service
在启动类上添加@EnableEurekaClient
和@EnableFeignClients
注解,添加调用demo-service
接口的方法:
@FeignClient(name = "demo-service")
public interface DemoServiceClient {
@GetMapping("/hello")
String hello();
}
@RestController
public class UserController {
@Autowired
private DemoServiceClient demoServiceClient;
@GetMapping("/hello")
public String hello() {
return demoServiceClient.hello();
}
}
3. 运行user-service
启动user-service
微服务,可以在Eureka Server的管理界面中看到user-service
已经注册,同时在demo-service
的日志中可以看到user-service
已经调用了Hello World!
接口并成功返回。
访问http://localhost:8082/hello
,可以看到返回字符串Hello World!
。
结论
通过以上步骤,我们成功搭建了基于Spring Cloud微服务架构的项目,并成功进行了服务注册及调用。希望本文对大家能够有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringCloud2020版本配置与环境搭建教程详解 - Python技术站