本文使用的是SpringBoot 2.1.9 版本,如果创建下面项目时版本不统一建议删除重新创建
一、 创建Eureka服务注册中心
1. 新建springboot项目(加eureka注册中心依赖,修改springboot版本为2.1.9)
2. springboot项目启动类加注解,标记本项目为注册中心(@EnableEurekaServer)
3. 配置application.yml (端口自定义)
server:
port: 7777
eureka:
client:
fetch-registry: false
register-with-eureka: false
service-url:
defaultZone: http://localhost:7777/eureka/
4. 测试访问(http://localhost:7777)根据Eureka配置文件中定义的端口
二、创建提供者(provider)
1. 新建springboot项目,加依赖
2. 启动类加注解(@EnableEurekaClient)
3. provider配置文件(application.yml)
server:
port: 8081
spring:
application:
name: dm-provider
eureka:
client:
service-url:
defaultZone: http://localhost:7777/eureka/
三、创建消费者(consumer)
1. 新建springboot项目,依赖和provider一样
2. 启动类加注解(@EnableFeignClients)
3. consumer配置文件(application.yml)
server:
port: 8082
spring:
application:
name: dm-consumer
eureka:
client:
service-url:
defaultZone: http://localhost:7777/eureka/
四、consumer调用provider(这里只方法演示不做真实的业务逻辑处理)
1. 在provider中创controller如下,加注解@RestController
2. 在刚创建的类中创建无参方法
@RequestMapping(value = "ajaxLoginUser", method = RequestMethod.POST)
public String ajaxLoginUser(){
// 省略实现
return "登录成功";
}
3. 在consumer中创建接口,加注解@FeignClient(name=“dm-provider”) name属性的值为provider中配置文件中定义的名称
4. 创建方法与provider中的方法相映射(建议复制provider中的方法)
@RequestMapping(value = "ajaxLoginUser", method = RequestMethod.POST)
public String ajaxLoginUser();
完成这一步如下图
5. 在consumer中创建controller,创建方法,调用
6. 测试,启动三个项目 先启动Eureka,provider,consumer 访问 localhost:8082/loginUser
注:provider及consumer包结构图