写点什么

Spring Boot 系列(一)

作者:DC.夜猫
  • 2022 年 5 月 30 日
  • 本文字数:1146 字

    阅读完需:约 4 分钟

Spring Boot系列(一)

1. Spring Boot 的前世今生

Spring Boot 是伴随着 Spring 4.0 诞生的;从字面理解,Boot 是引导的意思,因此 Spring Boot 帮助开发者快速搭建 Spring 框架;Spring Boot 帮助开发者快速启动一个 Web 容器;Spring Boot 继承了原有 Spring 框架的优秀基因;Spring Boot 使得基于 Spring 的开发过程更加简易。

Spring Boot 简单讲就是牺牲项目的自由度来减少配置的复杂度【约定优于配置(convention over configuration),也称作按约定编程,是一种软件设计范式,也称“契约式编程”思想】,约定大于配置的主导思想是 Spring Boot 自动配置方案的指导思想。约定规则自动配置集成好其它框架,从而达到“开箱即用”。同时,也支持自由配置。

Spring Boot 让创建独立的,生产环境的基于 Spring 的应用更加快捷简易。 大部分 Spring Boot Application 只要一些极简的配置,即可“一键运行”。


2. Spring Boot 的发展

Spring Boot 自 2014 年发布第一个 RELEASE 版本;

Spring Boot 中 1.x 和 2.x 中从设计模式和编程模型上发生了较大变化;Spring Boot 大版本对应的小版本下发生的升级对整个 API 等规则上发生不是特别明显。

相对而言,Spring Boot 2.x 对自动化配置进行了更加的完善。

Spring Boot 版本历史参考:https://github.com/spring-projects/spring-boot/releases

3. Spring Boot 定位

我们企业级软件的目标是提供稳定健壮的服务,以实现其商业价值。为了满足这些需求,服务开发者需要能够快速构建和迭代新的应用,同时应用的架构是可扩展的,便携式的,富弹性的,可以进行频繁的更新。Spring Boot 正式为此而诞生。

  • 由于 Spring Boot 设计优雅,使用简单,节省开发成本。

  • 另外由于微服务的火爆,作为 Spring Cloud 实现基础的 Spring Boot ,成为 Java 中构建微服务应用的基础必备技能。

4. Spring Boot 特性

Spring Boot 的特性如下

  • 内嵌 Web Server。Tomcat,Jetty,Undertow 等 servlet 容器。可直接通过 Jar 包的形式部署运行。

Spring 5.x 增加基于响应式的 Spring Web Flux 模块,Spring Boot 2.x 对标 Spring 5.x,在 Spring Web Fulx 中引入了 Netty 作为服务端。

  • 自动装配。 Spring Boot 通过 Spring Auto Configuration 实现 Spring Boot 的自动装配/自动配置。

  • 生产环境的特性。比如特征指标、健康检查和外部化配置;提高自动化运维的效率。

  • 提供定制化的 starter poms 来简化 maven 配置(gradle 相同)


Spring 由于其繁琐的配置,各种 XML、Annotation 配置,让人眼花缭乱,而且如果出错了也很难找出原因。而 Spring Boot 更多的是采用 Java Config 的方式对 Spring 进行配置。

5. Spring Boot 学习的条件

Spring Boot 非常好用,但并不是零基础可直接上手。

在学习 Spring Boot 时最好已具备 Spring 及 Spring MVC 框架的知识。

Spring Boot 是一个快速开发框架,其技术基础几乎全部来源自 Spring,且 Spring Boot 使用简单,开箱即用,但底层实现错综复杂 。


发布于: 刚刚阅读数: 5
用户头像

DC.夜猫

关注

码农一枚,喜欢聊聊代码,爱技术也爱生活! 2019.04.22 加入

长期致力于基础代码库的研发工作,主要关注微服务、高并发和容器化等技术领域;对Spring Boot、Spring Cloud、Netty以及物联网技术有深刻的研究和独到的见解。

评论

发布
暂无评论
Spring Boot系列(一)_Java_DC.夜猫_InfoQ写作社区