Spring Boot 介绍

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计⽬目的是⽤用来简化新 Spring 应用的初始搭建以及开发过
程,该框架使⽤用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 Spring Boot 默认配
置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包, Spring Boot 整合了所有的框架。 Spring Boot
的核心设计思想是: 约定优于配置, Spring Boot 所有开发细节都是依据此思想进行实现。

Spring Boot 是一套全新的框架,它来自于 Spring 大家族,因此 Spring 所有具备的功能它都有并且更容易使
用; Spring Boot 简化了基于 Spring 的应用开发,通过少量的代码就能创建一个独立的、产品级别的 Spring
应用。

该项目主要的目的是:
让 Spring 的开发更快、更广泛的上手;
使用默认方式实现快速开发;
提供大多数项目所需的非功能特性,诸如:嵌入式服务器、安全、心跳检查、外部配置等。

Spring Boot 特性

使用 Spring 项目引导页面可以在几秒构建一个项目;
(1)、方便对外输出各种形式的服务,如 REST API、 WebSocket、 Web、 Streaming、 Tasks;
(2)、非常简洁的安全策略集成;
(3)、支持关系数据库和非关系数据库;
(4)、支持运行期内嵌容器,如 Tomcat、 Jetty;
(5)、强大的开发包,支持热启动;
(6)、自动管理依赖;
(7)、自带应用监控;
(8)、支持各种 IED,如 IntelliJ IDEA 、 NetBeans。

Spring Boot 市场热度

Spring Boot 于 2014 年发布了了第一个正式版本,发布之后陆续有一些开源爱好者进行了研究,并迅速喜欢上
了这款开源软件, Spring Boot 在初期低调快速的发展着。直到 2016 年 Spring Boot 才被真正使用了起来,
期间很多研究 Spring Boot 的开发者,在网上写了大量关于 Spring Boot 的文章,推动了 Spring Boot 在行业
内的发展。

从 2016 年到 2018 年,是 Spring Boot 在中国发展的黄金时期,使用 Spring Boot 的企业和个人开发者越来
越多,我们从 Spring Boot 关键字的百度指数可以看出。

通过谷歌趋势来看 Spring Boot 在美国的使用情况发现,中国和美国人民使用 Spring Boot 的整体频率保持一
致,看来国内技术人同步全球的技术频率越来越快。

看到社区使用 Spring Boot 的热情, Spring 官方也非常重视 Spring Boot 的后续发展,已经将 Spring Boot 作
为公司最顶级的项目来推广,放到了官⽹网上第一的位置,后续 Spring Boot 的发展也被看好。

Spring Boot 和微服务架构

微服务架构是在互联网高速发展,技术日新月异的变化以及传统架构无法适应快速变化等多重因素的推动下
诞生的产物。互联网时代的产品通常有两类特点:需求变化快和用户群体庞大。在这种情况下,如何从系统
架构的角度出发,构建灵活、易扩展的系统,快速应对需求的变化;同时,随着用户的增加,如何保证系统
的可伸缩性、高可用性,成为系统架构面临的挑战。

如果还按照以前传统开发模式,开发一个大型而全的系统已经很难满⾜市场对技术的需求,这时候分而治之
的思想被提了了出来,于是我们从单独架构发展到分布式架构,又从分布式架构发展到 SOA 架构,服务不断地
被拆分和分解,粒度也越来越小,直到微服务架构的诞生。

大约 2009 年开始, Netflix 完全重新定义了它的应用程序开发和操作模型,拉开了微服务探索的第一步,直
到 2014 年 3 月 Martin Fowler 写的一篇文章 MicroServices 以更加通俗易懂的形式为大家定义了什么是微服
务架构。 Martin Fowler 在文中阐述了对微服务架构的设想,认为微服务架构是一种架构模式,它提倡将单一
应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。

Spring Boot 诞生时,正处于微服务概念在慢酝酿中, Spring Boot 的研发融合了微服务架构的理念,实现
了在 Java 领域内微服务架构落地的技术支撑。 Spring Boot 在开发、测试、部署、运维等⽅方⾯面都做了大量的
优化,使⽤用 Spring Boot 开发项目,可以快速响应需求、独立完成开发部署上线。

Spring Boot 的一系列特性容易实现微服务架构的落地,从目前众多的技术栈对比来看 Spring Boot 是 Java
领域微服务架构最优落地技术没有之⼀。

为什什么学习 Spring Boot

Spring Boot 本身并不提供 Spring 框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于
Spring 框架的应用程序。同时它集成了大量常用的第三方库配置(如 Redis、 MongoDB、 JPA、
RabbitMQ、 Quartz 等), Spring Boot 应用中的这些第三方库几乎可以零配置的开箱即用,大部分的 Spring
Boot 应用都只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。

使⽤用 Spring Boot 开发项目,有以下几方面优势:
(1)、Spring Boot 使开发变简单, Spring Boot 提供了丰富的解决方案,快速集成各种解决方案提升开发效
率。
(2)、Spring Boot 使配置变简单, Spring Boot 提供了丰富的 Starters,集成主流开源产品往只需要简单的
配置即可。
(3)、Spring Boot 使部署变简单, Spring Boot 本身内嵌启动容器,仅需要一个命令即可启动项目,结合
Jenkins 、 Docker 自动化运维非常容易实现。
(4)、Spring Boot 使监控变简单, Spring Boot 自带监控组件,使用 Actuator 轻松监控服务各项状态。
从软件发展的角度来讲,越简单的开发模式越会流行,简单的开发模式解放出更多⽣产力,让开发人员可以
将精力集中在业务上,而不是各种配置、语法所设置的门槛上。 Spring Boot 就是尽可能的简化应用开发的⻔门
槛。

Spring Boot 所集成的技术栈,几乎都是各互联网公司在使用的技术,跟着 Spring Boot 的路线去学习,基本
可以了解国内外互联网公司的技术特点

总结

Spring Boot 是一套快速开发框架,在微服务架构的大环境下 Spring Boot 一经推出就受到开源社区的关注。
Spring Boot 有强大的生态整合能力,提供了众多的 Starters 包,非常方便 Spring Boot 集成第三方开源软件
达到开箱即用的效果。 Spring Boot 和微服务架构都是未来软件开发的一个大趋势,越早参与其中受益越大。

开篇词:为什什么要学习 Spring Boot相关推荐

  1. 为什么要学习 Spring Boot?

    我们知道,从 2002 年开始,Spring 一直在飞速的发展,如今已经成为了在Java EE(Java Enterprise Edition)开发中真正意义上的标准,但是随着技术的发展,Java E ...

  2. 为什么Java大神,都在看Spring Boot和Spring Cloud的书?

    2019独角兽企业重金招聘Python工程师标准>>> 如果你是一名Java开发人员,并且最近正打算学习Spring Boot和Spring Cloud框架并寻找一些关于它们的最好的 ...

  3. phython在file同时写入两个_喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了

    折腾了一周的域名备案昨天终于搞定了. 松哥第一时间想到赶紧把微人事和 V 部落部署上去,我知道很多小伙伴已经等不及了. 1. 也曾经上过线 其实这两个项目当时刚做好的时候,我就把它们部署到服务器上了, ...

  4. 开启spring boot学习之旅

    1.为什么要学习spring boot 2.了解其加载流程 3.优化现有的项目 转载于:https://www.cnblogs.com/tantop/p/11300019.html

  5. spring boot微服务项目搭建

    第一章 SpringBoot介绍 1 简介 Spring Boot是一个便捷搭建基于spring工程的脚手架:作用是帮助开发人员快速搭建大型的spring 项目.简化工程的配置和依赖管理:开发人员把时 ...

  6. 2023最新首发,全网最全 Spring Boot 学习宝典(附思维导图)

    作者:bug菌 博客:CSDN.掘金.infoQ.51CTO等 简介:CSDN/阿里云/华为云/51CTO博客专家,博客之星Top30,掘金年度人气作者Top40,51CTO年度博主Top12,掘金/ ...

  7. 玩转spring boot——开篇

    很久没写博客了,而这一转眼就是7年.这段时间并不是我没学习东西,而是园友们的技术提高的非常快,这反而让我不知道该写些什么.我做程序已经有十几年之久了,可以说是彻彻底底的"程序老炮" ...

  8. spring boot 使用DFA算法实现敏感词过滤

    spring boot 使用DFA算法实现敏感词过滤 敏感词.文字过滤是一个网站必不可少的功能,如何设计一个好的.高效的过滤算法是非常有必要的. DFA算法简介 DFA全称为:Deterministi ...

  9. Spring Boot☞HelloWorld开篇

    目录结构 POM.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&quo ...

最新文章

  1. Go 语言编程 — gorm 的数据完整性约束
  2. 再见BOBO,从此梅阿查再无国王!
  3. sshpass命令使用
  4. GNU make manual 翻译( 一百一十四)
  5. Android 简单实现控件的拖动
  6. php strip_tag 回车,详解PHP函数 strip_tags 处理字符串缺陷bug
  7. 计算机网络(第七版)谢希仁编著 第四章课后答案详解
  8. 原生JavaScript使用和jQuery使用
  9. MIKE水动力笔记3_岸线及水深数据之根据遥感影像绘制岸线的方法
  10. SPSS数据分析之多选题定义
  11. Java Excel导出(包含图片) —— Easypoi
  12. php,tp5关键词,分词模糊查询并根据查询条件排序
  13. 点击按钮显示和隐藏图片
  14. 锐龙r55600G和r55600x区别 r5 5600x和r5 5600g性能差别大吗
  15. 微博实时话题和搜索微博实时抓取
  16. 读书:SQL必知必会
  17. 捷通华声与清华海峡研究院联合成立人工智能研究中心 张钹院士出任首席科学家...
  18. SQL语句:rtrim及ltrim 函数
  19. matlab怎么方差函数,密度函数已知,怎么用matlab求其数学期望和方差?
  20. 如何处理X-Lite和eyeBeam常见软电话故障及方法

热门文章

  1. 蜂蜜橙文案:水果蜂蜜橙的文案图片,水果蜂蜜橙朋友圈卖货文案
  2. SSH密钥登录系统报错Permissions 0644 for ‘xxx‘ re too open
  3. WVGA,QVGA,VGA,HVGA区别
  4. Oracle EBS PAC定期成本分配处理程序请求报错:30011一个无效帐户与正在处理的物料关联
  5. 华为面试应该怎么准备?
  6. 商用密码应用与安全性评估之(二)商用密码管理法律法规
  7. nginx日志---log_format详解
  8. 虚继承是什么意思_huaxiazhihuo
  9. 关于2020年与2021年的网搭国赛参考答案发布情况
  10. 嵌入式单片机智能药盒设计(含代码)