idea构建 spring cloud项目入门

spring cloud项目构建入门

技术选型

spring cloud Hoxton.SR3spring boot 2.2.6.RELEASEeurekaopen feginjdk 8maven

版本根据 spring cloud官网确定

1、构建maven父工程

idea 新建maven project

project 命名

修改pom属性删除src文件夹

2、构建eureka注册中心

maven搭建eurekaserver

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


配置工程信息


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

配置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注解

启动eureka

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

3、创建用户服务user-server

步骤如上

maven 构建

选择web 和eureka client


配置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 已经成功注册

新建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 结果如下


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

maven module 构建


配置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

访问

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