手把手教你搭建一个简单的 springcloud 项目

本文手把手教你如何从零开始搭建一个SpringCloud项目,包括创建Maven项目,设置注册中心Eureka,创建生产者与消费者,以及添加断路器Hystrix。详细讲解每个步骤,助你快速入门SpringCloud微服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、介绍springcloud

谷歌下更健康~

二、搭建步骤

1、创建一个maven项目

(1)打开idea,File —> New project —>Maven 

(2)根据自己的设置,填写下面信息,next

(3)这里填好相关路径后,可以选择性添加 archetypeCatalog=internal,作用是直接从本地获取项目骨架

建好后的目录如下:

本地目录如下:

 

 

(4)本地安装,对比目录变化

输入命令如下:

控制台出现success后,安装成功!

idea中目录增加的内容:

本地项目增加的文件:

(5)将war放到Tomcat下执行

按照下图步骤添加Tomcat

部署本地 war 到Tomcat:

 

部署成功,显示如下:

启动Tomcat:

方法一:在idea中,启动Tomcat;

方法二:进入本地Tomcat文件夹下的 bin问价夹下,双击startup.sh,通过cmd命令启动Tomcat,也可以。

验证:网址输入 http://localhost:8080/   出现“Hello,World!”,启动成功!

到此,一个Maven项目创建成功

 

2、创建注册中心

(1)找到 右键springcloudtest —> New —> Module

 (2)此处选中 Spring Initializr,Default,next

 

 下方信息,根据情况添加

(3)选中 Eureka Server,自动导入该包:

创建后的目录:

 (4)pom中添加注册中心的依赖

<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        
        <!--添加注册中心的依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka-server</artifactId>
            <version>1.4.2.RELEASE</version>
        </dependency>

    </dependencies>

(5)启动项中添加注解 @EnableEurekaServer

@EnableEurekaServer//添加该注解,申明此处为服务注册中心
@SpringBootApplication
public class RegisterApplication {

    public static void main(String[] args) {
        SpringApplication.run(RegisterApplication.class, args);
    }

}

(6)配置文件 application.properties 信息编辑:

server.port=8871
eureka.instance.hostname=localhost
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

也可以写成 yml 文件,差别是 yml更有层次感,格式要求更高,而properties必须写全。 

注意:

eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false

意义是,禁止 eureka server 自己注册自己

(7)启动,验证注册中心是否可用 http://localhost:8871/

出现下方网页,则成功:

 

3、创建生产者

(1)步骤跟创建注册中心一样,区别在命名:producer

 (2)pom中添加依赖

<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
            <version>1.4.4.RELEASE</version>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

    </dependencies>

(3)application.properties中配置相关信息

eureka.client.service-url.defaultZone=http://localhost:8871/eureka/
server.port=8872
spring.application.name=producer

 

(4)启动项中 添加注解 @EnableEurekaClient,声明自己为生产者

@EnableEurekaClient//声明自己为生产者
@SpringBootApplication
@RestController
public class ProducerApplication {

    public static void main(String[] args) {
        SpringApplication.run(ProducerApplication.class, args);
    }

    @Value("${server.port}")
    String port;

    @RequestMapping("/test")
    public String test(String name){
        return "Hello," + name + "! i am " + port;
    }
}

(5)启动 producer,刷新 注册中心页面,可以看到 服务已经注册到注册中心

浏览器输入:http://localhost:8872/test

返回:Hello,null! i am 8872

浏览器输入:http://localhost:8872/test?name=xck

返回:Hello,xck! i am 8872

 

4、创建一个消费者

(1)前面步骤同上

(2)pom中添加依赖

<dependencies>
        <dependency>
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值