创建服务提供者和消费者,通过配置消费者调用服务提供者提供的服务
完成:第一遍
1.如何创建一个简单的服务提供者?
步骤一:创建Module
首先选中当前项目右键
——》 New
——》Module
——》Spring Initializr
——》Module SDK :14
——》Next
——》Group:com.adbycool
——》Artifact:buildingservice
——》Java Version:选14
——》Next
——》左边点Web,右边勾选Spring Web
——》左边点Spring Cloud Discovery
右边勾选Eureka Discovery Client
——》Next
——》Finish
步骤二:把Module里pom.xml里版本改成外部pom.xml里设置的统一版本
大项目的pom.xml里的这部分配置
<groupId>com.adbycool</groupId>
<artifactId>springcloudnewproject</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
替换到module里的pom.xml这部分配置
Module子项目里关于java.version配置可以注释掉,因为版本信息在副项目Module创建时版本信息已经添加
这样就可以复用父类里的版本
——》点击Import Changes
步骤三:首先打开启动类EurekaServerApplication.java
在启动类名上加注解@EnableEurekaClient
这个注解会把当前项目指定为EurekaClient项目
——》保存
步骤四:需要写一个服务
在src\main\java\com\adbycool\building\service\controller下写一个BuildingController
BuildingController
package com.itzhiya.building.service.controller;
import com.itzhiya.common.Product;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@RestController
@RequestMapping("building")
public class BuildingController {
@GetMapping("message")
public String show(){
return "欢迎来到我的世界......";
}
}
步骤五:配置application.yml属性文件
server:
port: 8002
spring:
application:
name: buildingservice
eureka:
client:
service-url:
defaultZone: http://localhost:8001/eureka,
2.如何创建一个简单的消费者?
步骤一:创建Module
首先选中当前项目右键
——》 New
——》Module
——》Spring Initializr
——》Module SDK :14
——》Next
——》Group:com.adbycool
——》Artifact:buildingconsumer
——》Java Version:选14
——》Next
——》左边点Web,右边勾选Spring Web
——》Next
——》Finish
步骤二:把Module里pom.xml里版本改成外部pom.xml里设置的统一版本
大项目的pom.xml里的这部分配置
<groupId>com.adbycool</groupId>
<artifactId>springcloudnewproject</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
替换到module里的pom.xml这部分配置
Module子项目里关于java.version配置可以注释掉,因为版本信息在副项目Module创建时版本信息已经添加
这样就可以复用父类里的版本
——》点击Import Changes
步骤三:在src\main\java\com\itzhiya\building\consumer下新建BuildingController
BuildingController
package com.itzhiya.building.consumer;
import com.itzhiya.common.Product;
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;
import org.springframework.web.client.RestTemplate;
import java.util.List;
@RestController
@RequestMapping("building")
public class BuildingController {
private final String url = "http://localhost:8002/building/message";
@GetMapping("message")
public String show(){
RestTemplate restTemplate = new RestTemplate();
return restTemplate.getForObject(url, String.class);
}
}
步骤四:在src\main\resources配置
application.yml属性文件
server:
port: 8003
spring:
application:
name: buildingconsumer
启动SpringBoot
url为:localhost:8003/building/message
效果:通过配置自动调用了http://localhost:8002/building/message的服务