idea构建 spring cloud项目入门

spring cloud项目构建入门

技术选型

  • spring cloud Hoxton.SR3
  • spring boot 2.2.6.RELEASE
  • eureka
  • open fegin
  • jdk 8
  • maven

版本根据 spring cloud官网确定

idea构建 spring cloud项目入门

1、构建maven父工程

idea 新建maven project

idea构建 spring cloud项目入门

project 命名

idea构建 spring cloud项目入门

修改pom属性删除src文件夹

idea构建 spring cloud项目入门

2、构建eureka注册中心

maven搭建eurekaserver

新建工程,选择Spring Initializr,默认地址,或者修改为http://start.spring.io


配置工程信息


选择Cloud Discovery,勾选EurekaServer,注意spring boot 版本选择为2.2.6

idea构建 spring cloud项目入门

配置appcation.properties


<code>server.port=8848
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka//<code>

主启动类添加@EnableEurekaServer注解

idea构建 spring cloud项目入门

启动eureka

浏览器打开localhost:8848,显示如下网页,则eureka server 搭建成功

idea构建 spring cloud项目入门

3、创建用户服务user-server

步骤如上

maven 构建

idea构建 spring cloud项目入门

选择web 和eureka client

idea构建 spring cloud项目入门


idea构建 spring cloud项目入门

配置application.properties

<code>spring.application.name=USER-SERVER
server.port=8080
eureka.client.serviceUrl.defaultZone=http://localhost:8848/eureka//<code>

主启动添加注解 @EnableEurekaClient

先启动eureka server

再启动user server

进入 发现user-server 已经成功注册

idea构建 spring cloud项目入门

新建UserController

<code>package com.cloud.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {

    @RequestMapping(value = "getUser")
    public String  service(@RequestParam String userId){
        String  str="hello  ,im user server  ,userId:"+userId;
        return str;
    }

}/<code>

浏览器访问 http://localhost:8080/getUser?userId=1 结果如下


idea构建 spring cloud项目入门

4、构建服务消费端 cloud-consumer

maven module 构建

idea构建 spring cloud项目入门


idea构建 spring cloud项目入门

配置application.properties

<code>#是指,这个服务的名称
spring.application.name=CONSUME-SERVICE  
#该服务独有的端口号
server.port=80
#下面这个是指向Eureka注册中心,这样就注册成功了..
eureka.client.serviceUrl.defaultZone=http://localhost:8848/eureka/ /<code>

主启动添加注解 @EnableEurekaClient @EnableFeignClients

新建 UserServiceClient UserController

<code>package com.cloud.service;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@FeignClient(value = "USER-SERVER")
public interface UserServiceClient {

    @RequestMapping(value = "getUser")
    public String  getUser(@RequestParam String userId);
}/<code>


<code>package com.cloud.controller;

import com.cloud.service.UserServiceClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;

@RestController
public class UserController {
    @Resource
    private UserServiceClient userServiceClient;

    @RequestMapping(value = "/consumer/getUser")
    public String  getUser(@RequestParam String userId){
        return userServiceClient.getUser(userId);
    }
}/<code>

启动cloud-consumer

访问

idea构建 spring cloud项目入门

至此spring-cloud 通过open fegin 调用user server 服务成功


分享到:


相關文章: