Spring Boot介绍
Spring Boot简介
Spring Boot是一个基于Spring框架的快速开发脚手架,它简化了Spring应用的初始化和搭建过程,提供了众多便利的功能和特性,比如自动配置、嵌入式Tomcat等,让开发人员可以更加专注于业务逻辑的实现。
Spring Boot还提供了强大的插件体系和广泛的集成,可以轻松地与其他技术栈集成,比如Thymeleaf模板、JPA、MyBatis、Redis、MongoDB等,同时也支持对微服务的开发和管理。
总之,Spring Boot简单易用、快速开发,是目前最流行的Java框架之一,得到了广大开发者的青睐。
Spring Boot发展史
- 2003年,Rod Johnson成立Interface公司,产品是Spring Framework
- 2004年,Spring框架开源,公司改名为Spring Source,在后几年中,Spring Framework 逐渐成为 JavaEE 平台下最流行的框架之一,用于简化 Java 应用程序的开发。
- 2008年,收购Apache Servlet、Tomcat,为Spring Boot内嵌Web容器奠定基础
- 2009年,公司被VMWare以4.6亿美金收购,后Spring公司接连收购了很多优秀的开源中间件,比如RabbitMQ、Redis
- 2013年,Spring Source 被 Pivotal 公司收购,后者致力于支持和推动 Spring 应用框架的发展。
- 2014年,Spring Boot 1.0 发布,成为 Spring 应用编程模型的重要发展阶段之一。Spring Boot 提供了一种快速开发、高效运行的方式,简化了基于 Spring 的应用程序开发和部署,引入了自动配置和 starter 两个重要概念,实现了零配置的快速开发模式。
- 2018年,Spring Boot 2.0 发布,支持 JDK 9 的新特性,提供了许多新功能,如对 WebFlux 的支持、面向切面编程(AOP)的增强支持、对 CloudFoundry 和 Kubernetes 等云平台的支持,以及更快的启动速度和更优秀的性能表现。
大家都知道,Spring Boot、Spring Cloud和其他的一些框架是开源的,那么Pivotal公司是靠什么盈利的呢?
Pivotal 公司在 Spring Boot 和 Spring Cloud 等众多开源项目之外,还提供了一系列企业级解决方案和云计算服务,为企业用户提供开发、测试、部署,以及运维等方面的支持和服务,Pivotal公司就是靠提供技术服务支持盈利,全球500强公司有2/3的公司都与Pivotal有合作关系。
Spring Boot 是由 Spring Framework 框架衍生出来的一种 Web 应用程序开发框架。Spring Boot 框架在设计时就考虑了 Spring Framework 的强大及其优点,如依赖注入(DI)、面向切面编程(AOP)和反转控制(IOC)等,同时提供了额外的功能,如自动配置和 starter 包等。Spring Boot 设计目的是用来简化Spring应用的初始搭建以及开发过程。那么它具体是怎么简化的呢?
如果我们使用SSM框架进行开发,Spring在集成SpringMVC、MyBatis和其他的一些框架或者中间件时,是需要配置大量的xml文件的;而当我们使用Spring Boot框架进行开发时,我们就可以发现,我们不用再进行xml文件的配置,只需要引入不同的Starters的Maven依赖,就可以开箱即用进行开发。这就是Spring Boot所具有的优势:提供默认的配置方式让我们更方便快捷地进行开发。
关于Spring Boot想必大家都听过一句话:约定大于配置。使用Spring Boot框架可以提高开发效率、代码重用性,整体提高项目的质量和可维护性。
另外,使用Spring Boot框架因为集成了大量的框架,很好地解决了依赖包版本冲突以及引用的不稳定性等问题。
约定大于配置:约定大于配置(Convention over Configuration),是一种软件设计模式,它的核心思想是通过制定规则和约定,减少代码的配置,使开发过程更加简单快捷。在约定大于配置的模式中,开发人员不需要为每一个功能都进行配置,比如在Spring Boot中,我们可以通过自动配置来实现对SpringMVC、JPA、Thymeleaf等常用技术的集成,不需要针对每个技术进行配置,只需按照一定的约定进行开发即可。
依赖包版本冲突:Spring Boot 通过使用 Maven 管理依赖,对每个依赖包的版本进行规范化的管理,以避免依赖版本冲突。这一切都帮助开发人员更加专注于代码的实现,大大提高了开发效率,避免了依赖版本冲突所带来的问题。
SpringBoot的魅力
让我们来设想一下,如果我们原来使用的是SSM的开发模式,Spring Boot框架确实有很多的优势,也的确简化了Spring开发的配置,但我们真的会单单因为这一点就去选择Spring Boot吗?
答案是肯定不会的。因为我已经非常熟悉了SSM方式开发,如果更换成Spring Boot需要对代码进行改造和迁移,修改成本太大。而且,现在已经有有很多大佬提供了方便的SSM脚手架,也可以实现开箱即用进行开发。而且SSM开发是单体应用,我们只需要做一次集成,实现所有功能,并将所有组件部署在同一个服务器上即可。
所以我们提到的Spring Boot简化了Spring的开发,这只是我们所能看到的最直观的一方面,而真正让Spring Boot变得流行的是微服务开发模式。Spring Boot 自带微服务开发核心组件(如 Spring Cloud),提供了一套完整的微服务开发和部署方案。Spring Boot 提供了多种工具和组件来支持微服务开发,例如 Eureka(服务注册和发现)、Zuul(API 网关)、Hystrix(断路器)等。这些工具和组件在微服务架构中起着至关重要的作用,它们提供了极大的灵活性、可扩展性和可靠性,这就是 Spring Boot 成为流行的主要原因之一。
可以说是Spring Cloud带动了Spring Boot ,Spring Boot成就了Spring Cloud。下面是三者的关系图。
SpringBoot的优点
Spring Boot 是一种基于 Spring Framework 的快速应用程序开发工具,它有以下优点:
- 快速开发:Spring Boot 提供了快速、简单的开发方式,自动配置 Spring 和其他第三方库,使开发人员专注于业务逻辑的编写,从而极大地提高了开发速度。
- 微服务支持:Spring Boot 自带微服务开发核心组件(如 Spring Cloud),提供了一套完整的微服务开发和部署方案,使开发人员可以轻松构建和部署大型、复杂的分布式应用程序。
- 轻量级:Spring Boot 的特性是精简、灵活、模块化的,应用程序的运行时开销较小,能够快速响应用户请求,同时减少了开发和部署的成本。
- 易于部署和管理:Spring Boot 应用程序可以打成 jar 或 war 包,可以很方便地部署到云平台或容器中,例如 Docker、Kubernetes 等,并且还有一些常用的管理工具,例如 Actuator,可以监控、管理应用程序。
- 多数据源支持:Spring Boot 提供了多种数据库的支持,包括关系型数据库和非关系型数据库,开发人员可以根据自己的需要方便地进行配置和使用。
- 安全性:Spring Boot 提供了各种安全功能和特性,如 SSL/TLS、OAuth2、JWT 等,可以保障应用程序的安全性。 总的来说,Spring Boot 的优点包括快速开发、微服务支持、轻量级、易于部署和管理、多数据源支持和安全性等方面,这些优点使得 Spring Boot 成为目前非常流行的 Java 应用程序开发框架。
总结
Spring Boot 是一个 Spring 构架的开发框架,用于简化 Spring 应用程序的开发过程。它使应用程序开发速度更快,更容易部署和管理,并且可以与现有的 Spring 生态基础设施集成,使得开发人员能够快速地构建和部署应用程序。
版权归原作者 安之葳蕤 所有, 如有侵权,请联系我们删除。