springboot与springcloud的关系
1 . 问题描述
随着springboot、springcloud的不断迭代升级,开发效率不断提升,越来越多的开发团队加入到spring的大军中,今天用通俗的语言,介绍下什么是springboot,springcloud以及它们之间的关系。
2. 方案
2.1 首先说下maven
关于maven不想多说了,maven主要有两个功能,一是通过gav定位获取jar包,一是编译打包。
gav示例:
com.alibaba
fastjson
1.2.40
2.2 springboot介绍
2.2.1 介绍
其实springboot就是一个maven项目,只不过使用了spring提供的多个starter来加载多个相关依赖包,starter简单说就是maven包的组合。
比如:只需要一个web的starter包就能直接启动web服务了( springboot项目快速搭建)
org.springframework.boot
spring-boot-starter-web
2.0.3.RELEASE
2.2.2 依赖图
如下图,一个starter包集合了N个包。
2.3 springcould介绍
2.3.1 新建springcloud项目
新建springboot项目,选择Eureka server就可以新建eureka注册中心了。
2.3.2 pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.1.4.RELEASE
com.spc
eurekaserver
0.0.1-SNAPSHOT
eurekaserver
Demo project for Spring Boot
1.8
Greenwich.SR1
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
org.springframework.cloud
spring-cloud-starter-netflix-eureka-server
org.springframework.boot
spring-boot-starter-test
test
org.springframework.cloud
spring-cloud-dependencies
${spring-cloud.version}
pom
import
org.springframework.boot
spring-boot-maven-plugin
2.3.3 依赖图
”spring-cloud-netflix-eureka-server“包中已经包含:”spring-boot-starter-web“,图太了,就不截图了。
2.4 关系总结
通过上面的描述可以总结出:
(1) maven是springboot的基础,springboot项目本身就是maven项目。在maven项目中使用springboot的多个starter加几个约定,就能成为springboot项目了。
(2)springboot是springcloud的基础,springcloud本身是springboot项目。
(3)关系:maven->springboot->springcloud
maven是springboot的基础,springboot是springcloud的基础,maven不依赖于springboot,springboot不依赖与springcloud。