springcloud 子项目怎么导入_springcloud 子项目怎么导入_SpringCloud介绍及入门(一)

这篇博客介绍了SpringCloud作为服务治理工具包的基本概念,包括Eureka注册中心、API Gateway、Ribbon负载均衡和Hystrix断路器。重点讲述了在IDEA中创建SpringCloud子项目的过程,强调了SpringBoot与SpringCloud版本匹配的重要性,并提供了配置Eureka服务器的步骤,包括application.yml的设置和启动类的编写。
摘要由CSDN通过智能技术生成

a5b058e67d3b02c3b263d1b25218e7eb.png

springcloud是什么

基于spring boot实现的服务治理工具包,管理和协微服务

把别人的东西拿来组合在一起,形成各种组件

微服务协调者【service registtry注册中心 Eureka】--统一的网关【api gateway-zuul】

负载均衡【ribbon】--分布式配置 【config】-断路器【hystrix】

服务者--消费者 都向Eureka注册中心去注册,一个负责生产,一个负责消费

idea 如何创建多个模块 。

和eclipse有点区别,创建maven项目

29abb68d4eb71267d54e74ee6fb511ce.png

87f353935ec6ee0e2779d8d33bcc522b.png

看下项目结构

a3733cca11e23b7a5f907d4a7c86819d.png

和eclipse中的workspace一样。

1.创建EurekaServer

96dc473a543b33cbb7e9794dde5564d6.png

带个端口明确一下。

2.创建生产者和消者共用的接口

b6a4fa7b094cb6b8824d157508eb4062.png

3.创建服务提供者

f3644c3ae201ef5e023a7cc539dff20a.png

4.创建服务消费者

73dd0566dffcba24e2e143fdca5c852a.png

现在的项目架构

47da41f8047e387418e69d2490548e8c.png

开始配置

想让项目中的四个模块 都拥有spring boot

让四个模块继承一个父亲 。在总项目的pom.xml中添加spring boot ,这个下面的四个模块都会继承

总项目的pom.xml

${spring-cloud.version} 是一个变量,要定义在properties中。

以下代码是引入spring cloud.

一定要注意版本是否正确。我在这里就入了一个大坑 。

先开始定义的spring-cloud.version写成了 spring-cloud.verison,导致cloud怎么也导入不进来

费了很大功夫才发现。

UTF-8

UTF-8

1.8

Finchley.SR1

org.springframework.cloud

spring-cloud-dependencies

${spring-cloud.version}

pom

import

springboot 与springcoud 的版本选择

这里要注意springboot 与springcoud 的版本的匹配,可以参考:

https://spring.io/projects/spring-cloud

springboot的最新版 ,springcloud不一定就支持,要看对应关系 。

这里有一位同学写的踩坑旅程,有兴趣的可以参考一下。少走一些弯路

https://blog.51cto.com/honly/2156583?source=dra

以下图中可以看到。srpingboot 2.0开 头的版本,要用springcloud的Finchley来适配

Finchley 又分为 Release ,SR1-SR4 . 选择自己需要的就可以。 比如Finchley Release 或者Finchley SR1

8c75432e2b8bca17e381e0475428bdc8.png

以下网址是springcloud maven中面仓库的地址

https://repo1.maven.org/maven2/org/springframework/cloud/spring-cloud-dependencies/

可以看到Finchley.Release是Finchley最新发布的一个版本,之后才有sr1-4

然后是Greenwich.Releash版本,这个是针对springboot 2.1.x版本做的适配

3a7e1dd03b065ca520ec3f37d89a5f80.png

每个版本都有针对的说明 : 比如

finchley.Release的官方说明:https://spring.io/blog/2018/06/19/spring-cloud-finchley-release-is-available

中文说明 参考:https://www.oschina.net/news/97226/spring-cloud-finchley-released

显著变化:

与 Spring Boot 2.0.x 兼容

不支持 Spring Boot 1.5.x

最低要求 Java 8

新增 Spring Cloud Function 和 Spring Cloud Gateway

以下代码是表示所有的模块都继承springboot

org.springframework.boot

spring-boot-starter-parent

2.0.5.RELEASE

如果表示模块继承了,在模块的pom.xml中

//microservice_paent 表示继承了父类

microservice_paent

com.project

1.0-SNAPSHOT

Eureka注册中心的pom.xml

添加springboot ,spring.cloud的依赖。

org.springframework.cloud

spring-cloud-starter-netflix-eureka-server

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-test

test

Eureka注册的配置

在src->main->resources中添加 application.yml.指定服务器端口号,同时配置 Eureka的配置

server:

port: 7001

eureka:

instance:

hostname: 127.0.0.1

client:

register-with-eureka: false

fetch-registry: false

service-url:

defaultZone:http://${eureka.instance.hostname}:${server.port}/eureka/

在src->main->java中添加新类。

这些类似于单项目 springboot项目的创建。

这里如果@EnableEurekaServer不出现智能提示,或者明显有错误,需要去检查springcloud是否导入 进来

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication

@EnableEurekaServer

public class EurekaServiceApplication {

public static void main(String[] args) {

SpringBootApplication.run(EurekaServiceApplication.class,args);

}

}

也可以去检查依赖的包里是否有cloud的字样,比如下图,如果没有,检查配置 pom.xml确保springcloud导入进来再进行操作。

56dbdf78541f70f4f2b996242447494b.png

下面就会有区别了。请等下一篇 ,今天有几个坑入的比较深

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值