用IDEA搭建一个简单的SpringCloud项目(只包含Eureka+Ribbon)

简单的一个SpringCloud项目。主要核心组件服务注册中心和负载均衡。Eureka+Ribbon

1.FIle->new->Project

在这里插入图片描述

2.选择maven项目,然后next

在这里插入图片描述

3.输入GroupId 和 AtrifactId,然后next

在这里插入图片描述

4.选择保存路劲,和设置项目名称,然后finish

在这里插入图片描述

5.创建完后项目目录:

在这里插入图片描述
把src目录删除掉:删除完目录结构:
在这里插入图片描述

6.右键项目,选择new Module

在这里插入图片描述

7.如图选择,选择创建一个SpringBoot项目,然后点击next

在这里插入图片描述

8.输入Group和Artificat,然后next

在这里插入图片描述

9.选择SpringCloud Discovery-》Eureka,然后next

在这里插入图片描述

10.点击finish

在这里插入图片描述

11.项目目录如图所示:

在这里插入图片描述

12.把application.properties改成yml文件:

在这里插入图片描述
在这里插入图片描述

13.在yml文件中,配置注册中心相关信息:

在这里插入图片描述

#设置端口号
server:
  port: 8090


eureka:
  instance:
    #设置项目名称是localhost,也可以是其它的。
    hostname: localhost
  client:
    #标注改服务不去注册服务(当只有一个Eureka的时候,设置成false,否则项目项目启动报错)
    register-with-eureka: false
    #标注改服务不去获取服务(当只有一个Eureka的时候,设置成false,否则项目项目启动报错)
    fetch-registry: false
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka
  server:
    #关闭注册中心的保护机制,Eureka 会统计15分钟之内心跳失败的比例低于85%将会触发保护机制,
    #不剔除服务提供者,如果关闭服务注册中心将不可用的实例正确剔除
    enable-self-preservation: false

14.在启动类上加上注解:@EnableEurekaServer

在这里插入图片描述

16.启动项目:浏览器中输入loalhost:8090

在这里插入图片描述

17,这个时候我们创建一个服务生产者spring-cloud-provider

如6-8步一样,new Module,到这一步记得修改相关信息,然后next
在这里插入图片描述

20.这时候模块要有web+Eureka Discovery Client,然后next

在这里插入图片描述
在这里插入图片描述

21.这里finish

在这里插入图片描述

22.这个时候的项目目录:

在这里插入图片描述

23.我们修改spring-cloud-provider的application.yml文件内容:

在这里插入图片描述

#声明端口
server:
  port: 8091

spring:
  application:
    #声明项目名称
    name: springcloud-provider
#声明向服务器注册地址
eureka:
  client:
    service-url:
      #向下面这个路劲注册服务
      defaultZone: http://localhost:8090/eureka

24.启动类上加上@EnableEurekaClient和@RestController.写生如下代码。主要测试是否能web访问。

在这里插入图片描述

package com.havey.springcloudprovider;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@EnableEurekaClient
@RestController
public class SpringCloudProviderApplication {

    public static void main(String[] args) {

        SpringApplication.run(SpringCloudProviderApplication.class, args);
    }
    @Value("${server.port}")
    private String port;

    @GetMapping("/helloWorld")
    public String helloWorld(){
        return "你好!世界,我的端口是:"+port;
    }
}

25.启动spring-cloud-provider项目:访问locahost:8090。我们发现多一个服务

在这里插入图片描述

26.我们在浏览器中输入:http://localhost:8091/helloWorld

在这里插入图片描述

27.创一个消费者spring-cloud-ribbon 如创建生产者一样(20步-22步),就是名字不同,我们这里不做重复。创建后项目目录:

在这里插入图片描述

28.修改spring-cloud-ribbonapplicaton.yml内容:

在这里插入图片描述

server:
  port: 8092

spring:
  application:
    name: springcloud-ribbon

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8090/eureka


29.在启动类上加上注解: @EnableEurekaClient;@RestController,并且把RestTemplate放入到bean容器中。写一个方法接口,看是否能web访问。

在这里插入图片描述
这个是核心访问方法。地址中,不能再是locahos:port而是直接项目名称。是yml配置好的。

 return restTemplate().getForObject("http://springcloud-provider/helloWorld",String.class);

30.我们启动消费者spring-cloud-ribbon:浏览器中输入:localhost:8090

在这里插入图片描述

31.我们再访问:localhost:8092/test

在这里插入图片描述
发现返回的是生产者返回的值,说明我们调用服务成功了。

恭喜自己一个简单的springcloud项目创建成功了。

如果可以请给予一分钱的支持。也可以点个赞。前进的脚步。

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值