本文选自 | 《精通 Spring Boot 42 讲》
作者 | 纯洁的微笑
责编 | 林瑟
Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程,该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
Spring Boot 是一套全新的框架,它来自于 Spring 大家族,因此 Spring 所有具备的功能它都有并且更容易使用;同时还简化了基于 Spring 的应用开发,通过少量的代码就能创建一个独立的、产品级别的 Spring 应用。
下图展示出了 Spring Boot 在 Spring 生态中的位置:
该项目主要的目的是:
上手 Spring 开发更快、更广泛;
使用默认方式实现快速开发;
提供大多数项目所需的非功能特性,诸如:嵌入式服务器、安全、心跳检查、外部配置等。
02
Spring Boot 特性
使用 Spring 项目引导页面可以在几秒构建一个项目;
方便对外输出各种形式的服务,如 REST API、WebSocket、Web、Streaming、Tasks;
非常简洁的安全策略集成;
支持关系数据库和非关系数据库;
支持运行期内嵌容器,如 Tomcat、Jetty;
强大的开发包,支持热启动;
自动管理依赖;
自带应用监控;
支持各种 IDE,如 IntelliJ IDEA、NetBeans。
Spring Boot 于 2014 年发布了第一个正式版本,期间很多研究 Spring Boot 的开发者,在网上写了大量文章,推动了 Spring Boot 在行业内的发展。
从 2016 年到 2018 年,是 Spring Boot 在中国发展的黄金时期,使用 Spring Boot 的企业和个人开发者越来越多,我们从 Spring Boot 关键字的百度指数可以看出。
通过谷歌趋势来看 Spring Boot 在美国的使用情况发现,中国和美国使用 Spring Boot 的整体频率保持一致,看来国内技术人同步全球的技术频率越来越快。
04
微服务架构是在互联网高速发展,技术日新月异的变化以及传统架构无法适应快速变化等多重因素的推动下诞生的产物。开发一个大而全的系统很难满足市场对技术的需求,于是我们从单独架构发展到分布式架构,又从分布式架构发展到 SOA 架构,服务不断地被拆分和分解,粒度也越来越小,直到微服务架构的诞生。
Spring Boot 诞生时,正处于微服务概念在慢慢酝酿中,Spring Boot 的研发融合了微服务架构的理念,实现了在 Java 领域内微服务架构落地的技术支撑。Spring Boot 在开发、测试、部署、运维等方面都做了大量的优化,使用 Spring Boot 开发项目,可以快速响应需求、独立完成开发部署上线。
Spring Boot 的一系列特性有助于实现微服务架构的落地,从目前众多的技术栈对比来看它是 Java 领域微服务架构最优落地技术,没有之一。
▼扫码免费试读我的课程
05
Spring Boot 本身并不提供 Spring 框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。同时它集成了大量常用的第三方库配置(如 Redis、MongoDB、JPA、RabbitMQ、Quartz 等),Spring Boot 应用中这些第三方库几乎可以零配置进行开箱即用。
使用 Spring Boot 开发项目,有以下几方面优势:
Spring Boot 使开发变得简单,提供了丰富的解决方案,快速集成各种解决方案提升开发效率。
Spring Boot 使配置变得简单,提供了丰富的 Starters,集成主流开源产品往往只需要简单的配置即可。
Spring Boot 使部署变得简单,其本身内嵌启动容器,仅仅需要一个命令即可启动项目,结合 Jenkins、Docker 自动化运维非常容易实现。
Spring Boot 使监控变得简单,自带监控组件,使用 Actuator 轻松监控服务各项状态。
从软件发展的角度来讲,越简单的开发模式越流行,简单的开发模式解放出更多生产力,让开发人员可以避免将精力耗费在各种配置、语法所设置的门槛上,从而更专注于业务。这点上,Spring Boot 已尽可能地简化了应用开发的门槛。
Spring Boot 所集成的技术栈,涵盖了各大互联网公司的主流技术,跟着 Spring Boot 的路线去学习,基本可以了解国内外互联网公司的技术特点。
Spring Boot 是一套快速开发框架,在微服务架构的大环境下 Spring Boot 一经推出就受到开源社区的追捧。Spring Boot 有强大的生态整合能力,提供了众多的 Starters 包,非常方便, Spring Boot 集成第三方开源软件达到开箱即用的效果。
Spring Boot 和微服务架构都是未来软件开发的大趋势,越早参与,受益越大,点击阅读原文或扫描上方海报二维码,现在开始学习掌握