为什么要用Spring Boot?

什么是Spring Boot?

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

什么是约定优于配置?

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

  本质是说,开发人员仅需规定应用中不符约定的部分。例如,如果模型中有个名为 User 的类,那么数据库中对应的表就会默认命名为 user。只有在偏离这一约定时,例如将该表命名为"user info",才需写有关这个名字的配置。我们可以按照这个思路来设想,我们约定 Controller 层就是 Web 请求层可以省略 MVC的配置;我们约定在 Service 结尾的类自动注入事务,就可以省略了 Spring 的切面事务配置。在 Spring 体系中,Spring Boot JPA就是约定优于配置最佳实现之一,不需要关注表结构,我们约定类名即是表名,属性名即是表的字段,String 对应varchar,long 对应 bigint,只有需要一些特殊要求的属性,我们再单独进行配置,按照这个约定我们可以将以前的工作大大简化。

  Spring Boot 体系将约定优于配置的思想展现得淋漓尽致,小到配置文件、中间件的默认配置,大到内置容器、生态中的各种 Starters无不遵循此设计规则。Spring Boot 鼓励各软件组织方创建自己的Starter,创建 Starter 的核心组件之一就是 autoconfigure模块,也是 Starter 的核心功能,在启动的时候进行自动装配,属性默认化配置。可以说正是因为 Spring Boot 简化的配置和众多的 Starters 才让 Spring Boot 变得简单、易用、快速上手,也可以说正是约定优于配置的思想彻底落地才让 Spring Boot 走向辉煌。Spring Boot 约定优于配置的思想让 Spring Boot 项目非常容易上手,让编程变得更简单,其实编程本该很简单,简单才是编程的美。

Starters

  Spring Boot Starters 基于约定优于配置的理念来设计,Spring Boot Starter 中有两个核心组件∶ 自动配置代码和提供自动配置模块及其它有用的依赖。也就意味着当我们项目中引入某个 Starter,即拥有了此软件的默认使用能力,除非我们需要特定的配置,一般情况下我仅需要少量的配置或者不配置即可使用组件对应的功能。Spring Boot 由众多Starter 组成,随着版本的推移 Starter 家族成员也与日俱增。在传统 Maven 项目中通常将一些层、组件拆分为模块来管理,以便相互依赖复用,在 Spring Boot 项目中我们则可以创建自定义 Spring Boot Starter 来达成该目的。

  Spring Boot 拥有强大融合社区开源软件的能力,在没有使用 Spring Boot 之前,我们需要按照每个开源软件的特性,将对应的组件包集成到我们的开发项目中,因为每个组件的设计理念和开发团队都不一致,因此会有很多不同的调用风格在我们的项目中。Spring Boot 整合了主流的开源软件形成了一系列的 Starter,让我们有了一致的编程体验来集成各种软件,Spring Boot 在集成的时候做了大量的优化,让我们在集成的时候往往只需要很少的配置和代码就可以完成。可以说各种 Starters 就是 Spring Boot 最大的优势之一。Spring Boot 是一套全新的框架,它来自于 Spring大家族,因此 Spring 所有具备的功能它都有并且更容易使用;同时还简化了基于 Sp ring 的应用开发,通过少量的代码就能创建一个独立的、产品级别的 Spring 应用。

Spring Boot 有哪些特性?

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

为什么学习 Spring Boot ?

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

使用 Spring Boot 开发项目,有以下几方面优势∶

  • Spring Boot 使开发变得简单,提供了丰富的解决方案,快速集成各种解决方案提升开发效率。
  • Spring Boot 使配置变得简单,提供了丰富的 Starters,集成主流开源产品往往只需要简单的配置即可。
  • Spring Boot 使部署变得简单,其本身内嵌启动容器,仅仅需要一个命令即可启动项目,结合Jenkins、Docker 自动化运维非常容易实现。
  • Spring Boot 使监控变得简单,自带监控组件,使用 Actuator轻松监控服务各项状态。

  从软件发展的角度来讲,越简单的开发模式越流行,简单的开发模式解放出更多生产力,让开发人员可以避免将精力耗费在各种配置、语法所设置的门槛上,从而更专注于业务。这点上,Spring Boot已尽可能地简化了应用开发的门槛。Spring Boot 所集成的技术栈,涵盖了各大互联网公司的主流技术,跟着 Spring Boot 的路线去学习,基本可以了解国内外互联网公司的技术特点。

Spring、Spring Boot 和 Spring Cloud有什么关系?

  Spring最初核心的两大核心功能 Spring loC和 Spring Aop 成就了Spring,Spring在这两大核心功能上不断地发展,才有了Spring事务、Spring MVC等一系列伟大的产品,最终成就了Spring帝国,到了后期 Spring 几乎可以解决企业开发中的所有问题。

  Spring Boot是在强大的 Spring 帝国生态基础上面发展而来,发明Spring Boot不是为了取代 Spring,是为了让人们更容易的使用 Spring。所以说没有 Spring强大的功能和生态,就不会有后期 Spring Boot 的火热,Spring Boot使用约定优于配置的理念,重新重构了Spring 的使用,让 Spring 后续的发展更有生命力。Spring Boot并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过 Spring Boot风格进行再封装并屏蔽掉复杂的配置和实现原理,最终给开发者提供了一套简单易懂、易部署、易维护的分布式系统开发工具包。

  Spring Cloud是一系列框架的有序集合,它利用 Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发。服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 Spring Boot 的开发风格做到一键启动和部署。Spring Cloud是为了解决微服务架构中服务治理而提供的具备一系列功能的开发框架,并且 Spring Cloud是完全基于Spring Boot 而开发,Spring Cloud利用 Spring Boot特性整合了开源行业中优秀的组件,整体对外提供了一套在微服务架构中服务治理的解决方案。

  综上我们可以这样来理解,正是由于 Spring loC和 Spring Aop 两个强大的功能才有了Spring,Spring生态不断的发展才有了Spring Boot,使用 Spring Boot让Spring 更易用更有生命力,Spring Cloud是基于 Spring Boot 开发的一套微服务架构下的服务治理方案。

### 回答1: Spring Boot 是一个快速开发框架,它可以帮助开发者快速构建基于 Spring 框架的应用程序。它提供了自动配置、快速启动、无需 XML 配置等特性,使得开发者可以更加专注于业务逻辑的实现,而不必花费太多时间在配置和部署上。此外,Spring Boot 还提供了丰富的插件和扩展,可以轻松地集成其他框架和工具,如 MyBatis、Hibernate、Thymeleaf、Swagger 等,从而进一步提高开发效率和代码质量。因此,使用 Spring Boot 可以大大简化开发流程,提高开发效率,降低开发成本,是现代 Web 开发的首选框架之一。 ### 回答2: Spring Boot 是一个非常受欢迎的 Java 开发框架,具有许多优点,因为这个框架可以帮助开发人员快速创建高效的、可扩展的应用程序,无论这些应用程序是 Web 应用程序、企业应用程序还是移动应用程序。 以下是关于为什么使用 Spring Boot 的几个好处: 1. 快速开发: Spring Boot 内置了许多依赖项,这些依赖项可以让开发人员更快地进行开发。开发人员可以选择不同的模板来创建应用程序,这些模板都是预先配置好的,所以开发人员可以省去配置的时间,并更快地进行开发。 2. 简化配置: Spring Boot 简化了配置,使得开发人员可以更快地进行开发。它基于约定优于配置的原则,提供了默认配置,让开发人员可以快速地搭建开发环境。开发人员也可以根据自己的需求进行自定义配置。 3. 提高生产力: 使用 Spring Boot 可以提高生产力,因为它可以让开发人员专注于业务逻辑,而不是配置和环境。这样,开发人员可以更快地进行开发,同时还能保证功能和代码的质量。 4. 容易扩展: Spring Boot 架构下的应用程序可以很容易地扩展,因为它具有可插拔的特性。开发人员可以添加或删除模块,轻松地扩展应用程序的功能。 5. 统一的开发体验: 使用 Spring Boot 可以提供一致的开发体验。开发人员可以使用相同的工具、相同的配置方式,同时遵循相同的最佳实践和设计模式。 总之,Spring Boot 是一个优秀的开发框架,可以帮助开发人员快速、高效地开发应用程序。它提供了许多优点,如快速开发、简化配置、提高生产力、容易扩展和统一的开发体验等等。 ### 回答3: Spring Boot 是一个基于 Spring 框架的轻量级应用程序开发框架,它的主要目的是让我们能够更快速、更便捷地搭建各种类型的应用程序,同时还能更好地管理和维护这些应用程序。下面详细介绍为什么要使用 Spring Boot。 1. 简化配置 Spring Boot 最大的优势就是简化了配置。Spring Boot 使用自动配置来配置应用程序所需组件,这样我们就无需手动配置众多的 Spring 组件,大大减少了我们的工作量,同时还避免了手动配置出错的风险。 2. 简化依赖管理 Spring Boot 支持快速导入一系列常用的依赖,并且这些依赖已经被集成和测试过了,可以大大减少我们配置应用程序所需的依赖的工作量。同时,在使用 Spring Boot 的时候,我们还可以避免版本冲突的问题。 3. 提供了丰富的功能 Spring Boot 提供了丰富的功能模块,我们可以快速集成 Spring Data、Spring Security、Spring Batch 等常用的模块,这样我们就能更快捷地开发各种类型的应用程序。 4. 更好地监控和管理应用程序 Spring Boot 提供了各种监控和管理工具,我们可以使用 Actuator 来监控应用程序的状态、性能、日志等信息,还可以使用 Spring Boot Admin 来实现应用程序的管理和监控。 5. 高度可配置 Spring Boot 提供了强大的可配置性,允许我们以不同的方式定义应用程序的配置,包括 properties 配置文件、YAML 配置文件以及 Java Config 配置方式等。这使得我们可以根据具体的需求来定制化我们的应用程序。 综上,Spring Boot 是一个简化配置、简化依赖管理、提供了丰富功能、更好地监控和管理应用程序、高度可配置等方面都具有优势的应用程序开发框架。使用 Spring Boot 可以让我们更快速、更便捷地开发各种类型的应用程序,并且能够将精力更多地集中在逻辑业务的编写上,提高开发效率和质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值