一:两者是相辅相成的,SpringCloud是基于SpringBoot
将服务注册在注册中心,服务之间调用,无非就是多了几个注解,配置有些不一样,别的也没什么
大话微服务
单体应用
初期应用功能少,随着时间推移功能增加版本迭代,代码增加
- 开发速度慢
- 启动时间长
- 依赖庞大
微服务
随着功能的增加按照模块拆分 比如-订单服务-商品服务-文件服务等等。每个服务的职责明显,某一个服务挂了不影响其它服务。
- 易开发,理解和维护
- 独立的部署和启动
- 问题:分布式系统》分布式事务问题。需要管理多个服务》服务治理
二:Springboot:开发更加简介,比如以前启动一个新项目,需要去添加很多的配置,SpringBoot采用的自动装配的方式
官网:https://spring.io/projects/spring-boot
GitHub地址:https://github.com/spring-projects/spring-boot
官方文档:https://spring.io/guides/gs/spring-boot/
相关软件和作用
JDK1.8以上
Maven 3.5+
编辑器IDEA
PostMan
翻译神器:https://translate.google.cn/
三:常见的创建SpringBoot创建方式
本地创建.Maven依赖
注意选择JDK版本,Next下一步即可
下一步为项目存放路径,没有会自动创建
pom文件添加依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--聚合版本管理,像以前SringMVC需要加很多依赖,这个可以帮助管理统一依赖包-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>net.jhclass</groupId>
<artifactId>SpringBoot-Project</artifactId>
<version>1.0-SNAPSHOT</version>
<!--属性定义-->
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--聚合脚手架 比如数据库、驱动等等-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--单元测试-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>