springboot2.0和springcloud Finchley版项目搭建(包含eureka,gateWay,Freign,Hystrix)

下面是详细的“springboot2.0和springcloud Finchley版项目搭建(包含eureka,gateWay,Feign,Hystrix)”攻略。

准备环境

首先,需要准备以下环境:

  • JDK 1.8及以上版本
  • Maven 3.5及以上版本
  • IntelliJ IDEA或者eclipse等IDE

创建Spring Boot项目

  1. 打开IntelliJ IDEA,选择New Project,然后选择Spring Initializr

  2. 创建一个Maven项目,选择Spring Boot 2.x版本,填写Group、Artifact、Packaging等信息

  3. 填写项目依赖,选择Eureka Discovery Server、Eureka Discovery Client、Spring Cloud Gateway、Feign和Hystrix等依赖

  4. 点击Next,选择项目名称和保存路径,然后创建项目

配置Eureka Server

  1. 在application.properties文件中加入Eureka Server的配置信息
# EurekaServer 配置
server.port=8761
eureka.instance.hostname=localhost
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
  1. 在启动类上添加@EnableEurekaServer注解,标识为Eureka Server
@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }
}

配置Eureka Client

  1. 在application.properties文件中,加入Eureka Client的配置信息
# Eureka Client配置
spring.application.name=product-service
eureka.client.service-url.default-zone=http://localhost:8761/eureka/
  1. 在启动类上添加@EnableDiscoveryClient注解,标识为Eureka Client
@SpringBootApplication
@EnableDiscoveryClient
public class ProductServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(ProductServiceApplication.class, args);
    }
}

配置Spring Cloud Gateway

  1. 在application.properties文件中,加入Spring Cloud Gateway的配置信息
# Gateway 配置
server.port=8080
spring.cloud.gateway.routes[0].id=product-service
spring.cloud.gateway.routes[0].uri=lb://product-service
spring.cloud.gateway.routes[0].predicates[0]=Path=/**
  1. 在启动类上添加@EnableEurekaClient注解
@SpringBootApplication
@EnableDiscoveryClient
public class ApiGatewayApplication {
    public static void main(String[] args) {
        SpringApplication.run(ApiGatewayApplication.class, args);
    }
}

配置Feign

  1. 在启动类上添加@EnableFeignClients注解
@SpringBootApplication
@EnableFeignClients
public class OrderServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(OrderServiceApplication.class, args);
    }
}
  1. 创建Feign Client接口
@FeignClient(value = "product-service")
public interface ProductServiceClient {

    @GetMapping("/product/{id}")
    String getProductById(@PathVariable("id") Long id);
}

配置Hystrix

  1. 在启动类上添加@EnableCircuitBreaker注解
@SpringBootApplication
@EnableCircuitBreaker
@EnableFeignClients
public class UserServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(UserServiceApplication.class, args);
    }
}
  1. 在Feign Client接口中加入fallback属性:
@FeignClient(value = "product-service", fallback = ProductServiceClientFallback.class)
public interface ProductServiceClient {
    @GetMapping("/product/{id}")
    String getProductById(@PathVariable("id") Long id);
}
  1. 编写Hystrix回调类
@Component
public class ProductServiceClientFallback implements ProductServiceClient {
    @Override
    public String getProductById(Long id) {
        return "product fallback";
    }
}

示例

  1. 创建Product Service服务

  2. 创建User Service服务

  3. 创建Order Service服务,通过Feign调用ProductService

这样,经过以上几个步骤,我们就基本上完成了Spring Boot与Spring Cloud的整合了。在项目中,我们还可以通过Swagger UI工具为项目提供API文档,在项目中使用mybatis-plus等ORM框架操作数据库,使用Redis等缓存工具,对于微服务架构,我们还可以配合Docker等容器技术来进行管理和部署。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot2.0和springcloud Finchley版项目搭建(包含eureka,gateWay,Freign,Hystrix) - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • Java tomcat手动配置servlet详解

    Java Tomcat是一个广泛使用的Web容器,它可以让我们轻松地构建和部署Java Servlet应用程序。在这篇文章中,我们将详细介绍如何手动配置Servlet应用程序并将其部署到Tomcat Web服务器上。 准备工作 在开始配置Servlet之前,我们需要确保已经安装了Tomcat Web服务器,并已经将其正确配置。如果您还没有安装Tomcat,请…

    Java 2023年6月2日
    00
  • 浅谈mac下maven的安装配置与使用

    浅谈Mac下Maven的安装配置与使用 简介 Maven 是一款 Java 项目自动化构建工具,可用于管理项目依赖、构建、测试、打包、发布等。本文将介绍在 Mac 下 Maven 的安装、配置和使用方法。 安装 下载 Maven 安装包 Maven 官方网站提供了 Windows 和 Linux 的安装包,可以从 https://maven.apache.o…

    Java 2023年5月19日
    00
  • JAVA 区分集合和数组

    区分集合和数组是 Java 编程语言中一个重要的概念,本攻略将详细讲解区分集合和数组的相关知识。 什么是数组? 数组是一种特殊的数据结构,它由一组相同类型的元素组成,这些元素以连续的方式存储在内存中。Java 数组可以是一维或多维的,每个数组都有一个固定的大小,这个大小在创建数组时就确定了。 下面是一个示例展示如何创建一个 int 类型的一维数组: int[…

    Java 2023年5月26日
    00
  • Java的Struts框架中Action的编写与拦截器的使用方法

    下面是关于“Java的Struts框架中Action的编写与拦截器的使用方法”的攻略。 Struts框架 Struts是一种流行的MVC(Model-View-Controller)Java Web框架。它允许将应用程序的内容(模型)、用户界面(视图)和应用程序流程(控制器)分开,这样不同的开发人员可以专注于不同的方面。 Action的编写 Action是S…

    Java 2023年5月20日
    00
  • Java Spring Controller 获取请求参数的几种方法详解

    下面是关于“Java Spring Controller 获取请求参数的几种方法详解”的完整攻略,包含两个示例说明。 Java Spring Controller 获取请求参数的几种方法详解 在Java Spring应用程序中,Controller是处理HTTP请求的核心组件。在处理请求时,我们通常需要获取请求参数。本文将详细介绍Java Spring Co…

    Java 2023年5月17日
    00
  • JSP组件commons-fileupload实现文件上传

    以下是使用JSP组件commons-fileupload实现文件上传的详细攻略: 环境准备 首先需要在项目中引入commons-fileupload组件,可以在Maven中添加以下依赖: <dependency> <groupId>commons-fileupload</groupId> <artifactId&gt…

    Java 2023年6月15日
    00
  • java基础–JDK SPI概述

    Java基础 — JDK SPI 概述 JDK SPI(Java Development Kit Service Provider Interface)是Java开发中的一个机制,它规定了如何将服务的实现和服务的使用解耦。在使用JDK SPI之前,程序员需要手动加载对应的实现类,而通过使用JDK SPI,程序员只需要编写服务的接口规范,而不用关心具体的实现…

    Java 2023年5月26日
    00
  • Java 用反射设置对象的属性值实例详解

    接下来我会用标准的markdown格式文本进行讲解,包含标题、代码块等内容。 Java 用反射设置对象的属性值实例详解 在Java中,我们经常需要对对象进行操作,其中一项操作是设置对象的属性值。使用反射机制可以在运行时动态地获取类的信息、创建对象、调用方法和操作属性。 在Java中,可以通过反射机制设置对象的属性值。下面是详细教学: 第一步:获取类对象 首先…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部