1. 准备工作
首先,我们需要准备以下环境:
- JDK 1.8+
- Maven 3.0+
- Spring Boot 2.1.0.RELEASE+
- Spring Cloud Alibaba 0.2.0.RELEASE+
2. 创建Spring Boot项目
在开始之前,我们需要创建一个Spring Boot项目。可以使用Spring Initializr快速创建一个基础的Spring Boot项目,也可以手动创建一个空的Spring Boot项目。
在pom.xml文件中添加以下依赖:
xmlorg.springframework.cloud spring-cloud-starter-alibaba-nacos-discovery 0.2.0.RELEASE
3. 配置Nacos服务注册中心
在application.properties文件中添加以下配置:
properties spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
这个配置将会告诉Spring Cloud Alibaba应用,Nacos服务注册中心的地址是127.0.0.1:8848。
4. 编写服务提供者
我们将创建一个简单的服务提供者,它将会向Nacos服务注册中心注册自己的服务。
首先,我们需要在pom.xml文件中添加以下依赖:
xmlorg.springframework.cloud spring-cloud-starter-alibaba-nacos-discovery 0.2.0.RELEASE
然后,我们创建一个简单的RestController:
java @RestController public class HelloController { @GetMapping("/hello") public String hello() { return "Hello, world!"; } }
最后,我们需要在启动类上添加@EnableDiscoveryClient注解,以启用服务注册和发现功能:
java @SpringBootApplication @EnableDiscoveryClient public class ProviderApplication { public static void main(String[] args) { SpringApplication.run(ProviderApplication.class, args); } }
5. 编写服务消费者
我们将创建一个简单的服务消费者,它将会从Nacos服务注册中心获取服务提供者的地址,并调用服务提供者的接口。
首先,我们需要在pom.xml文件中添加以下依赖:
xmlorg.springframework.cloud spring-cloud-starter-alibaba-nacos-discovery 0.2.0.RELEASE
然后,我们创建一个简单的RestController:
java @RestController public class HelloController { @Autowired private RestTemplate restTemplate; @GetMapping("/hello") public String hello() { String url = "http://provider/hello"; return restTemplate.getForObject(url, String.class); } }
在这个RestController中,我们使用了RestTemplate来调用服务提供者的接口。
最后,我们需要在启动类上添加@EnableDiscoveryClient注解,以启用服务注册和发现功能:
java @SpringBootApplication @EnableDiscoveryClient public class ConsumerApplication { public static void main(String[] args) { SpringApplication.run(ConsumerApplication.class, args); } @Bean public RestTemplate restTemplate() { return new RestTemplate(); } }
6. 启动应用
现在,我们可以启动服务提供者和服务消费者应用了。在启动之前,我们需要先启动Nacos服务注册中心。可以从Nacos官网下载最新版本的Nacos Server,并按照文档进行安装和启动。
启动服务提供者应用后,它将会向Nacos服务注册中心注册自己的服务。我们可以在Nacos的管理界面上查看到这个服务。
然后,我们启动服务消费者应用。它将会从Nacos服务注册中心获取服务提供者的地址,并调用服务提供者的接口。
在浏览器中访问http://localhost:8080/hello,就可以看到服务提供者返回的“Hello, world!”了。
7. 总结