一、什么是springboot

1. Spring 简介

springboot 是由privotal 团队提供的基于spring的全新框架,旨在简化Spring应用的初始搭建和开发过程。sringboot 集成了绝大部门目前流行的开发框架,使得开发者能够快速搭建Spring 项目。

Spring Boot的核心思想是约定优于配置。基于这一设计原则,基于这一设计原则,Spring Boot极大地简化了项目和框架的配置,它采用了大量的默认配置来简化像web.xml、Spring和MyBatis等这些繁琐的配置,只需引入对应的Starters(启动器)。

2. Spring Boot特性

  1. 快速创建一键运行的 Spring应用
  2. 能够使用内嵌的Tomcat、Jetty服务器,不需要部署war文件。
  3. 提供定制化的启动器Starters简化第三方依赖配置,开箱即用。
  4. 零代码生成和零XML配置,自动配置Spring。
  5. 提供可以直接在生产环境中使用的功能特性,如性能指标、健康检查、属性配置等。

3. Spring Boot核心组件

在这里插入图片描述

4. Spring Boot优点

  1. 遵循“约定优于配置”的原则,使用Spring Boot只需要很少的配置或使用默认的配置。
  2. 使用JavaConfig,避免使用XML的烦琐。
  3. 提供Starters(启动器),简化Maven配置,避免依赖冲突。
  4. 提供内嵌Servlet容器,可选择内嵌Tomcat、Jetty等容器,不需要单独的Web服务器。这意味着不再需要启动Tomcat或其他任何中间件。
  5. 提供了一系列项目中常见的非功能特性,如安全监控、应用监控、健康检测等。
  6. 与云计算、微服务的天然集成。

5. 什么是“约定优于配置”

约定优于配置”也被称作“按约定编程”,是一种软件设计范式,旨在减少软件开发者需要的配置项,这样既能使软件保持简单而又不失灵活性。

从本质上来说,系统、类库或框架应该约定合理的默认值,开发者仅需规定应用中不符合约定的部分。例如,如果模型中有一个名为Product的类,那么数据库中对应的表就会默认命名为product,只有在偏离这个约定时才需要定义有关这个名字的配置,例如将该表命名为product_info

6. Spring、Spring Boot 和Spring Cloud的关系

Spring是一个开源生态体系,是集大成者。其核心是控制反转(Inversion ofControl,IoC)和面向切面编程(Aspect Oriented Programming,AOP)。正是IoC和AOP这两个核心功能成就了强大的Spring,Spring在这两大核心功能上不断地发展壮大,才有了Spring MVC等一系列成熟的产品,最终构建了功能强大的Spring生态帝国。

Spring Boot是在Spring的基础上发展而来的,它不是为了取代Spring,而是为了简化Spring应用的创建、运行、调试、部署,让开发者更容易地使用Spring。它将目前各种比较成熟的服务框架和第三方组件组合起来,按照“约定优于配置”的设计思想进行重新封装,屏蔽掉复杂的配置和实现,最终给开发者提供一套简单、易用、易部署、易维护的分布式系统开发工具包。

Spring Cloud是基于Spring Boot实现的分布式微服务框架,它利用Spring Boot简单、易用、便利的特性简化了分布式系统基础设施的开发,如服务发现、服务注册、配置中心、消息总线、负载均衡、断路器、数据监控等基础组件都可以用Spring Boot的开发风格做到一键启动和部署。
在这里插入图片描述