Kevin's blog Kevin's blog
首页
  • Java基础
  • Java高级
  • MySQL
  • JDBC
  • Java 8新特性
  • 原生Servlet
  • 延迟队列
  • 分布式事务
  • ActiveMQ
  • Elasticsearch
  • Stream API
  • Redis 实战(黑马程序员)
  • Redis 课程(尚硅谷)
  • Redis数据类型和常用命令
  • 版本控制
  • Spring Framework
  • Spring MVC Framework
  • MyBatis Framework
  • MyBatis Plus Framework
  • Spring Boot Framework
  • 韩顺平 Spring Boot Framework
  • 在线教育
  • 谷粒商城 - 分布式基础 高级 集群
  • 谷粒商城 - 详细开发文档
  • docker基础
  • docker-compose容器编排
  • docker swarm集群管理
  • Vue2基础
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Kevin

Java系统笔记
首页
  • Java基础
  • Java高级
  • MySQL
  • JDBC
  • Java 8新特性
  • 原生Servlet
  • 延迟队列
  • 分布式事务
  • ActiveMQ
  • Elasticsearch
  • Stream API
  • Redis 实战(黑马程序员)
  • Redis 课程(尚硅谷)
  • Redis数据类型和常用命令
  • 版本控制
  • Spring Framework
  • Spring MVC Framework
  • MyBatis Framework
  • MyBatis Plus Framework
  • Spring Boot Framework
  • 韩顺平 Spring Boot Framework
  • 在线教育
  • 谷粒商城 - 分布式基础 高级 集群
  • 谷粒商城 - 详细开发文档
  • docker基础
  • docker-compose容器编排
  • docker swarm集群管理
  • Vue2基础
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Spring Framework

  • Sprng MVC Framework

  • Mybatis

  • Mybatis Plus

  • Spring Boot

    • SpringBoot2-基础入门

      • Spring与SpringBoot
        • 1、Spring能做什么
          • 1.1、Spring的能力
          • 1.2、Spring的生态
          • 1.3、Spring5重大升级
          • 1.3.1、响应式编程
          • 1.3.2、内部源码设计
        • 2、为什么用SpringBoot
          • 2.1、SpringBoot优点
          • 2.2、SpringBoot缺点
        • 3、时代背景
          • 3.1、微服务
          • 3.2、分布式
          • 分布式的困难
          • 分布式的解决
          • 3.3、云原生
          • 上云的困难
          • 上云的解决
        • 4、如何学习SpringBoot
          • 4.1、官网文档架构
      • SpringBoot2入门
      • 了解自动配置原理
    • SpringBoot2-核心功能

    • SpringBoot2-场景整合

    • 04.Spring Boot 韩顺平
  • Spring Cloud

  • Framework
  • Spring Boot
  • SpringBoot2-基础入门
zhihuanwang
2023-09-12
目录

Spring与SpringBoot

# 1、Spring能做什么

# 1.1、Spring的能力

image-20250926115019104

# 1.2、Spring的生态

https://spring.io/projects/spring-boot (opens new window)

覆盖了: web开发 数据访问 安全控制 分布式 消息服务 移动开发 批处理 ......

# 1.3、Spring5重大升级

# 1.3.1、响应式编程

image-20250926115040489

# 1.3.2、内部源码设计

基于Java8的一些新特性,如:接口默认实现。重新设计源码架构。

# 2、为什么用SpringBoot

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".

能快速创建出生产级别的Spring应用

# 2.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技术栈的快速开发脚手架

# 2.2、SpringBoot缺点

  • 人称版本帝,迭代快,需要时刻关注变化
  • 封装太深,内部原理复杂,不容易精通

# 3、时代背景

# 3.1、微服务

James Lewis and Martin Fowler (2014) (opens new window) 提出微服务完整概念。https://martinfowler.com/microservices/ (opens new window)

In short, the** microservice architectural style** is an approach to developing a single application as a suite of small services, each running in its own process and communicating with **lightweight **mechanisms, often an **HTTP **resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.-- James Lewis and Martin Fowler (2014) (opens new window)

  • 微服务是一种架构风格

  • 一个应用拆分为一组小型服务

  • 每个服务运行在自己的进程内,也就是可独立部署和升级

  • 服务之间使用轻量级HTTP交互

  • 服务围绕业务功能拆分

  • 可以由全自动部署机制独立部署

  • 去中心化,服务自治。服务可以使用不同的语言、不同的存储技术

# 3.2、分布式

image-20250926115111423

# 分布式的困难

  • 远程调用
  • 服务发现
  • 负载均衡
  • 服务容错
  • 配置管理
  • 服务监控
  • 链路追踪
  • 日志管理
  • 任务调度
  • ......

# 分布式的解决

  • SpringBoot + SpringCloud

image-20250926115122207

# 3.3、云原生

原生应用如何上云。 Cloud Native

# 上云的困难

  • 服务自愈
  • 弹性伸缩
  • 服务隔离
  • 自动化部署
  • 灰度发布
  • 流量治理
  • ......

# 上云的解决

image-20250926115137149

# 4、如何学习SpringBoot

# 4.1、官网文档架构

image-20250926115146487

image-20250926115153023

查看版本新特性; https://github.com/spring-projects/spring-boot/wiki#release-notes (opens new window) image-20250926115203061

编辑 (opens new window)
上次更新: 2024/06/15, 15:12:25
插件式一体化开发平台
SpringBoot2入门

← 插件式一体化开发平台 SpringBoot2入门→

最近更新
01
04.Spring Boot 韩顺平
10-12
02
day14
08-29
03
day09
08-29
更多文章>
Theme by Vdoing | Copyright © 2019-2025 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式