开发工具:IntelliJ Idea
JDK 1.8
Spring boot 2.3.12.RELEASE
spring cloud Alibaba 2.2.7.RELEASE
openfeign 2.2.9.RELEASE
可以通过开发工具中的maven、spring initializr等进行项目创建。内容包括:父工程、两个子工程。结构如下图:

①父工程,该工程仅是pom工程,向子工程提供pom的继承。
②子工程,用于两个服务之间的调用
3.1 父POM文件
4.0.0
com.jwssw
microservice
0.0.1-SNAPSHOT
microservice
microservice
pom
order
stock
org.springframework.boot
spring-boot-starter-parent
2.3.12.RELEASE
8
Hoxton.SR12
2.2.7.RELEASE
org.springframework.cloud
spring-cloud-dependencies
${spring.cloud.version}
pom
import
com.alibaba.cloud
spring-cloud-alibaba-dependencies
${alibaba.cloud.version}
pom
import
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-web
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-config
org.springframework.cloud
spring-cloud-starter-openfeign
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin
org.projectlombok
lombok
3.2 子工程POM,除artifactId外两个子工程配置一致
microservice
com.jwssw
0.0.1-SNAPSHOT
4.0.0
order
8
8
3.3 application.yml配置文件,除application.name外两个子工程配置一致
server:
port: 8011
spring:
application:
name: order-server # 服务名称
cloud:
# nacos客户端配置
nacos:
discovery:
server-addr: 192.168.0.182:8848 # nacos服务地址
feign:
hystrix:
enabled: true
4.1.1 启动类OrderApplication
package com.jwssw.order;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;
/**
类描述:启动类
@author 鲁浩鹏 Lu Haopeng
@version 1.0
@email Lu Haopeng
@date 2022/3/19 10:42
@since JDK 8
/
@SpringBootApplication
@EnableFeignClients
public class OrderApplication {
/*
/**
4.1.2 控制类OrderController
package com.jwssw.order;
import com.jwssw.order.service.OrderService;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
/**
类描述:对外提供服务类
@author 鲁浩鹏 Lu Haopeng
@version 1.0
@email Lu Haopeng
@date 2022/3/19 10:43
@since JDK 8
/
@RestController
@RequestMapping(“/order”)
public class OrderController {
/* restTemplate远程调用对象 /
private final RestTemplate restTemplate;
/* openfeign远程调用对象 */
private final OrderService orderService;
/**
/**
/**
4.1.3 openfeign接口类OrderService
package com.jwssw.order.service;
import com.jwssw.order.service.impl.OrderServiceImpl;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
/**
4.1.4 回调类OrderServiceImpl
package com.jwssw.order.service.impl;
import com.jwssw.order.service.OrderService;
import org.springframework.stereotype.Component;
/**
4.2.1 启动类StockApplication
package com.jwssw.stock;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
4.2.2 对外提供服务类StockController
package com.jwssw.stock;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
类描述:对外提供服务类
@author 鲁浩鹏 Lu Haopeng
@version 1.0
@email Lu Haopeng
@date 2022/3/19 10:46
@since JDK 8
*/
@RestController
@RequestMapping(“/stock”)
public class StockController {
/** 获取配置文件中的端口号 */
@Value(“${server.port}”)
private String port;
/**
以上内容主要给予spring cloud alibaba的最小可运行的微服务Demo工程,如果你在实际项目中尚未微服务,不妨可以采用本文上述方式在实际项目中推行一下。