SpringCloud从入门到精通教程(二)- 服务提供者

绝地灬酷狼 2023-02-26 01:05 137阅读 0赞

需求背景

服务提供者

Tips技术点

1. @EnableEurekaClient注解

  • 表示这是一个Eureka客户端程序
  1. 配置application.yml中eureka属性值

    • 比如填写Eureka注册中心地址等

代码演示

1. 项目目录结构

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlbWluMTAwMw_size_16_color_FFFFFF_t_70

2. pom.xml依赖组件

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <artifactId>microservice-provider-user</artifactId>
  7. <packaging>jar</packaging>
  8. <parent>
  9. <groupId>com.minbo.cloud</groupId>
  10. <artifactId>spring-cloud-microservice-study</artifactId>
  11. <version>0.0.1-SNAPSHOT</version>
  12. </parent>
  13. <dependencies>
  14. <!-- 添加Eureka的依赖 -->
  15. <dependency>
  16. <groupId>org.springframework.cloud</groupId>
  17. <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
  18. </dependency>
  19. <dependency>
  20. <groupId>org.springframework.boot</groupId>
  21. <artifactId>spring-boot-starter-web</artifactId>
  22. </dependency>
  23. <dependency>
  24. <groupId>org.springframework.boot</groupId>
  25. <artifactId>spring-boot-starter-actuator</artifactId>
  26. </dependency>
  27. <dependency>
  28. <groupId>org.springframework.cloud</groupId>
  29. <artifactId>spring-cloud-starter-zipkin</artifactId>
  30. </dependency>
  31. </dependencies>
  32. </project>

3. application.yml配置文件

  1. server:
  2. port: 8000
  3. spring:
  4. application:
  5. name: microservice-provider-user # 项目名称尽量用小写
  6. eureka:
  7. # 配置开启健康检查
  8. client:
  9. healthcheck:
  10. enabled: true
  11. serviceUrl:
  12. defaultZone: http://localhost:8761/eureka/ # 指定注册中心的地址
  13. instance:
  14. # IP地址优先
  15. preferIpAddress: true
  16. # 按需配置续约更新时间和到期时间
  17. lease-expiration-duration-in-seconds: 30
  18. lease-renewal-interval-in-seconds: 10

注:spring.application.name是注册服务名,非常重要。服务消费者是通过此名称调用该服务提供者

4. 接口类(测试提供的方法)

  1. package com.minbo.cloud.study.controller;
  2. import org.springframework.beans.factory.annotation.Value;
  3. import org.springframework.web.bind.annotation.RequestMapping;
  4. import org.springframework.web.bind.annotation.RequestParam;
  5. import org.springframework.web.bind.annotation.RestController;
  6. @RestController
  7. public class HiController {
  8. @Value("${server.port}")
  9. String port;
  10. // 提供的方法
  11. @RequestMapping("/hi")
  12. public String hi(@RequestParam(value = "name", defaultValue = "minbo") String name) {
  13. String result = "hi " + name + " , i am from port:" + port;
  14. System.out.println(result);
  15. return result;
  16. }
  17. }

5. 启动类

添加@EnableEurekaClient注解

  1. package com.minbo.cloud.study;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
  5. @SpringBootApplication
  6. @EnableEurekaClient
  7. public class UserApplication {
  8. public static void main(String[] args) {
  9. SpringApplication.run(UserApplication.class, args);
  10. }
  11. }

6. 是否注册成功

查看Eureka界面,可以看到该服务提供者已经成功注册进来了

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlbWluMTAwMw_size_16_color_FFFFFF_t_70 1

完整源码下载

我的Github源码地址:

https://github.com/hemin1003/spring-cloud-study/tree/master/spring-cloud-greenwich/microservice-provider-user

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlbWluMTAwMw_size_16_color_FFFFFF_t_70 2

上一章教程

SpringCloud从入门到精通教程(一)- 服务的注册与发现(Eureka)

下一章教程

SpringCloud从入门到精通教程(三)- 服务消费者,实现方式一(ribbon)

该系列教程

SpringCloud从入门到精通教程

我的专栏

  • SpringBoot系列专栏
  • SpringCloud系列专栏
  • 高可用高并发实战专栏
  • 微服务架构实战
  • DevOps实战专栏
  • 程序化广告实战专栏

至此,全部介绍就结束了

-———————————————

-———————————————

我的CSDN主页

关于我(个人域名)

我的开源项目集Github

期望和大家一起学习,一起成长,共勉,O(∩_∩)O谢谢

欢迎交流问题,可加个人QQ 469580884,

或者,加我的群号 751925591,一起探讨交流问题

不讲虚的,只做实干家

Talk is cheap,show me the code

20180411181545874

发表评论

表情:
评论列表 (有 0 条评论,137人围观)

还没有评论,来说两句吧...

相关阅读