springcloud - alibaba - 2 - 集成Feign - 更新完成
1、依赖
- 依赖管理
<parent>
        <artifactId>spring-boot-parent</artifactId>
        <groupId>org.springframework.boot</groupId>
        <version>2.3.12.RELEASE</version>
        <relativePath/>
    </parent>
- 项目需要的依赖
<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
<!--        springcloud-alibaba需要的依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Hoxton.SR12</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.2.6.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

2、服务提供者
2.1)、yml配置
server:
  port: 8011
spring:
  application:
    name: ALIBABA-PUBLISHER
  cloud:
    nacos:
      discovery:
        server-addr: 162.14.66.60:8848  # 自己的服务器ip:8848
management:
  endpoints:
    web:
      exposure:
        include: "*" #健康检查

2.2)、启动类编写
package cn.zixieqing;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
/**
 * @ClassName PublisherApplication
 * @Author ZiXieQing
 * @Date 2021/12/7
 * Version 1.0
 **/
@SpringBootApplication
@EnableDiscoveryClient      // 开启nacos的客户端功能
public class PublisherApplication {
    public static void main(String[] args) {
        SpringApplication.run(PublisherApplication.class, args);
    }
}

2.3)、controller编写
package cn.zixieqing.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/provider")
public class ProvideService {
    @GetMapping("/service")
    public String provideService() {
        return "this is my son";
    }
}
3、Feign
3.1)、导入依赖
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
    </dependencies>

3.2)、编写yml
server:
  port: 8012
spring:
  cloud:
    nacos:
      discovery:
        server-addr: 162.14.66.60:8848  # 自己的服务器ip:8848
  application:
    name: ALIBABA-OPENFEIGN

3.3)、接口编写
package cn.zixieqing;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@FeignClient(value = "ALIBABA-PUBLISHER")  // publisher中注册进去的服务名
public interface ProxyService {
    @RequestMapping(value = "/provider/service" , method = RequestMethod.GET)
    String provideService();
}

3.4)、启动类编写
package cn.zixieqing;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class OpenFeignApplication {
    public static void main(String[] args) {
        SpringApplication.run(OpenFeignApplication.class, args);
    }
}

3.5)、服务消费层编写
package cn.zixieqing.controller;
import cn.zixieqing.ProxyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * @ClassName getService
 * @Author ZiXieQing
 * @Date 2021/12/7
 * Version 1.0
 **/
@RestController
@RequestMapping("/test")
public class getService {
    @Autowired
    private ProxyService proxyService;
    @GetMapping("/getService")
    public String getServer() {
        return proxyService.provideService();
    }
}

4、启动publisher 和 Feign

springcloud - alibaba - 2 - 集成Feign - 更新完成的更多相关文章
- springcloud - alibaba - 3 - 整合config - 更新完毕
		0.补充 1.需求 如果我有这么一个请求:我想要gitee中的配置改了之后,我程序yml中的配置也可以跟着相应产生变化,利用原生的方式怎么做?一般做法如下: 而有了SpringCloud-alibab ... 
- 十一. SpringCloud Alibaba
		1. SpringCloud Alibaba简介 1.1 为什么会出现SpringCloud Alibaba Spring Cloud Netflix项目进入到维护模式 什么是维护模式?=> 将 ... 
- SpringCloud Alibaba微服务实战三 - 服务调用
		导读:通过前面两篇文章我们准备好了微服务的基础环境并让accout-service 和 product-service对外提供了增删改查的能力,本篇我们的内容是让order-service作为消费者远 ... 
- SpringCloud系列之集成分布式事务Seata应用篇
		目录 前言 项目版本 项目说明 Seata服务端部署 Seata客户端集成 cloud-web module-order module-cart module-goods module-wallet ... 
- SpringCloud Alibaba实战(7:nacos注册中心管理微服务)
		源码地址:https://gitee.com/fighter3/eshop-project.git 持续更新中-- 在上一节我们已经完成了Nacos Server的本地部署,这一节我们学习如何将Nac ... 
- SpringCloud Alibaba实战(8:使用OpenFeign服务调用)
		源码地址:https://gitee.com/fighter3/eshop-project.git 持续更新中-- 在上一个章节,我们已经成功地将服务注册到了Nacos注册中心,实现了服务注册和服务发 ... 
- SpringCloud Alibaba实战(9:Hystrix容错保护)
		源码地址:https://gitee.com/fighter3/eshop-project.git 持续更新中-- 在上一节我们已经使用OpenFeign完成了服务间的调用.想一下,假如我们一个服务链 ... 
- 【springcloud alibaba】注册中心之nacos
		1.为什么需要注册中心 1.1 没有注册中心会怎么样 1.2 注册中心提供什么功能以及解决什么问题 2.常用的微服务注册中心对比 3.案例项目父工程 4.nacos作为注册中心的使用 4.1 单机版的 ... 
- SpringCloud Alibaba入门之Nacos(SCA)
		SpringCloud Alibaba Spring Cloud Alibaba 致力于提供微服务开发 的一站式解决方案.此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Clo ... 
随机推荐
- spring-cloud-square源码速读(spring-cloud-square-okhttp篇)
			欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ... 
- 【Azure 应用服务】App Service for Linux 中实现 WebSocket 功能 (Python SocketIO)
			问题描述 使用 python websockets 模块作为Socket的服务端,发布到App Service for Linux环境后,发现Docker Container无法启动.错误消息为: 2 ... 
- 『与善仁』Appium基础 — 5、常用ADB命令(二)
			目录 9.查看手机运行日志 (1)Android 日志 (2)按级别过滤日志 (3)按 tag 和级别过滤日志 (4)日志格式 (5)清空日志 10.获取APP的包名和启动名 方式一: 方式二: 11 ... 
- netfilter/iptables 学习
			netfilter概述 netfilter 组件位于内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集. iptables 组件是 ... 
- {% csrf_token %} 原理和作用 (踩坑必看)
			本博客已暂停更新,请转自新博客 https://www.whbwiki.com/320.html 继续阅读 简介 在django中我们需要在templates的form中加入{%csrf_token% ... 
- JavaScript数组方法大集合
			JavaScript数组方法集合 本文总结一下js数组处理用到的所有的方法.自己做个笔记. 数组方法 concat() 合并两个或多个数组 concat()能合并两个或者多个数组,不会更改当前数组,而 ... 
- 【Docker】Asp.net core在docker容器中的端口问题
			还记得[One by one系列]一步步学习docker(三)--实战部署dotnetcore中遇到的问题么?容器内部启动始终是80端口,并不由命令左右. docker run --name cont ... 
- k8s endpoints controller分析
			k8s endpoints controller分析 endpoints controller简介 endpoints controller是kube-controller-manager组件中众多控 ... 
- C语言通过指针数组和二维数组读取文件
			1 # include <stdio.h> 2 # include <stdlib.h> 3 # include <time.h> 4 # include < ... 
- [luogu3706]硬币游戏
			(可以参考洛谷4548,推导过程较为省略) 定义$g_{i}$表示随机$i$次后未出现给定字符串的概率,$f_{k,i}$表示随机$i$次后恰好出现$s_{k}$(指第$k$个字符串)的概率,设两者的 ... 
