spring的官网平时可以多了解里面的信息,了解大概对他们的功能概述
Spring | Homehttps://spring.io/
1.spring 能做什么( spring网站的提供的)
2、为什么用SpringBoot(官网信息)
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".
能快速创建出生产级别的Spring应用(对spring进行替代,简化)
这是spring官网上的spring框架生态圈,他们其实是独立的,使用时需要整合,比如ssm 三个框架的整合,他们之间出现大量的那如果继续整合其他的又会出现什么难度呢?
所以此时出现了spring boot,来简化生态圈之间的框架整合步骤,
3.1、SpringBoot优点
- Create stand-alone Spring applications 创建独立Spring应用
- Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)
- 内嵌web服务器
- Provide opinionated 'starter' dependencies to simplify your build configuration
- 自动starter依赖,简化构建配置
- Automatically configure Spring and 3rd party libraries whenever possible
- 自动配置Spring以及第三方功能
- Provide production-ready features such as metrics, health checks, and externalized configuration 提供生产级别的监控、健康检查及外部化配置
- Absolutely no code generation and no requirement for XML configuration
- 无代码生成、无需编写XML
SpringBoot是整合Spring技术栈的一站式框架
SpringBoot是简化Spring技术栈的快速开发脚手架
(我们只需在其基础上添加功能,专心做业务实现就好了)
3.2、SpringBoot缺点
- 人称版本帝,迭代快,需要时刻关注变化
- 封装太深,内部原理复杂,不容易精通(他的底层是spring)
4.springboot 出现的时代背景
4.1、微服务 (这是提出的微服务的具体文章)(开发的阶段)
James Lewis and Martin Fowler (2014) 提出微服务完整概念。Microservices Guidehttps://martinfowler.com/microservices/
简而来说什么是微服务
- 微服务是一种架构风格
- 一个应用拆分为一组小型服务
- 每个服务运行在自己的进程内,也就是可独立部署和升级
- 服务之间使用轻量级HTTP交互
- 服务围绕业务功能拆分
- 可以由全自动部署机制独立部署
- 去中心化,服务自治。服务可以使用不同的语言、不同的存储技术
4.2、分布式 (调用的阶段)
(因为微服务,出现了各个模块业务分开,所以出现了分布式的现象)
4.2.1分布式的困难
把应用拆分之后产生问题
远程调用 服务发现 负载均衡 服务容错 配置管理服务 监控链路 追踪日志 管理任务调度......
4.3、云原生(部署发布的阶段)
原生应用如何上云。 Cloud Native
上云的困难
- 服务自愈 (出现问题时,自动新建)
- 弹性伸缩 (流量访问时的多少变化)
- 服务隔离 (出现故障时,不影响其他)
- 自动化部署 (自动化发布,)
- 灰度发布 (防止不稳定的发布测试)
- 流量治理 (限制他们之间管理流量的关系)
5、如何学习SpringBoot
5.1、官网文档架构