认识 SpringBoot

认识 SpringBoot


个人公众号【爱做梦的锤子】,全网同id,个站 http://te-amo.site,欢迎关注,里面会分享更多有用知识,还有我的私密照片

什么是 SpringBoot?

SpringBoot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程,该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

与其说 SpringBoot 是一个全新框架,不如说 SpringBoot 是一个全新的工具。SpringBoot 并未在 Spring 框架的功能上进行全新拓展开发,而是把 Spring 框架现有的功能以及现有的开源技术进行了整合。简化了 Spring 框架本身的繁琐配置,也降低了整合第三方技术的复杂度,让开发人员在使用 Spring 框架及其生态技术时可以以最简化的配置快速搭建项目。

SpringBoot 致力于在蓬勃发展的快速应用开发领域,设计的核心思想是:约定优于配置


如何理解约定优于配置?

约定优于配置(Convention Over Configuration),也称作按约定编程,是一种软件设计范式,旨在减少软件开发人员需做决定的数量、获得简单的好处,而又不失灵活性。

  1. 开发人员仅需规定应用中不符约定的部分。
  2. 在没有规定配置的地方,采用默认配置

例如:你的项目在运行时候要求 Tomcat 的监听端口是8888,而 SpringBoot 中 Tomcat 约定的配置是监听8080端口,所以你就需要修改你的应用中不符合约定的部分,即:修改 Tomcat 监听端口为8888,这就是“开发人员仅需规定应用中不符合约定的部分”。而你的项目并没有要求 HTTP 请求的编码方式,那么你此时不配置 HTTP 请求的编码方式,他就默认使用了 UTF-8 字符集,这就是“没有规定配置的地方,采用默认配置”。

约定优于配置的目的是:在满足项目需求的情况下,以力求最简配置为目的

如何理解SpringBoot 的 Starter?

SpringBoot 中的 Starter 是把我们某一模块开发时所需要的所有的依赖整合到一个依赖中供我们使用。创建 Starter 的核心组件之一就是 Autoconfigure 模块,也是 Starter 的核心功能,在启动的时候进行自动装配,属性默认化配置。

例如:spring-boot-starter-web这个Starter是整合了搭建一个Web项目所需要所有依赖,它包含了spring-boot-starter-tomcat,hibernate-validator,jackson-databind,spring-web,spring-webmvc等依赖,而且Starter在启动的时候也是进行自动装配,在没有特殊要求的情况下,启动服务的时候均使用默认配置,比如默认监听端口为8080等。

SpringBoot 中的 Starters 均遵循约定优于配置的思想,简化了大部分配置,才让 SpringBoot 变得简单、易用,达到了开箱即用的目的,使得 SpringBoot 项目非常容易上手,也让编程变得更简单

SpringBoot的特性

  • 可以创建独立的 Spring 应用程序
  • 嵌入式的Tomcat,Jetty或Undertow(无需部署WAR文件)
  • 提供了基础的 Starter 依赖去简化构建配置
  • 在需要的场景下都会自动配置Spring和第三方类库
  • 提供了可用于生产环境下的功能,例如指标,运行健康状况检查和外部化配置
  • 完全没有代码生成,也不需要XML配置

Spring、SpringBoot、SpringCloud的关系

我们常说的 Spring 往往是指的Spring这个框架,Spring框架两大核心功能是: Spring IoC 和 Spring Aop ,在这两大核心功能上不断地发展,出现了 Spring 事务、Spring MVC 等一系列产品,所以Spring就是所有基于Spring生态的技术的基础。

SpringBoot 是在 Spring 生态基础上面发展而来,SpringBoot 并不会对 Spring 的核心功能进行拓展,而是为了简化配置,增加 Spring 框架的易用性,让人们更容易的使用 Spring 。通过 Spring Boot 可以将目前现有的比较成熟、经得起实际考验的服务框架和技术组合起来进行再封装并屏蔽掉复杂的配置和实现原理,最终提供给开发者提供了一套易用、易部署、易维护的系统开发工具包。

SpringCloud 是一系列框架的有序集合,是为了解决微服务架构中服务治理而提供的具备一系列功能的开发框架。SpringCloud 是基于 SpringBoot 的规范而开发,利用 SpringBoot 特性整合了开源行业中优秀的组件,包括服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等方面,整体对外提供了一套在微服务架构中服务治理的解决方案。

所以Spring 框架是Spring生态的基础,SpringBoot 是为了让 Spring 框架更易用、更有生命力,而产生的一个基于Spring框架的新工具(框架),Spring Cloud 是基于 Spring Boot 开发的一套微服务架构下的服务治理方案。

个人公众号【爱做梦的锤子】,个站 http://te-amo.site,欢迎关注,里面会分享更多有用知识,还有我的私密照片

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值