Spring和SpringBoot的区别

本文内容如有错误、不足之处,欢迎技术爱好者们一同探讨,在本文下面讨论区留言,感谢。

文章目录

        • 简述
        • Spring 框架
        • Spring Boot 框架
        • Spring 优点
        • Spring Boot 优点
        • Spring Boot 产生的原因
          • 加快发展
        • 结语
        • 参考资料

简述

在过去的几年中(the past few years),不断的对Spring 框架增加新功能,使得它变得越来越复杂(complex)。开发人员需要经过一个漫长的周期才能搭建一个新的Spring 项目。为了避免从头开始,并节省时间(save time),引入了Spring BootSpring Boot 的基础是Spring框架,Spring Boot 是一种使用零或最低配置创建应用程序的方法。它提供了许多默认值和配置,以更快地创建Spring应用程序。

Spring 框架

Spring 是用于构建应用程序的最广泛使用的Java EE框架,对于Java 平台,Spring 框架提供了详细的编程和配置模型。它旨在简化Java EE 开发并帮助开发人员提高工作效率。它可以在任何类型的部署平台上使用。它考虑了当今企业不断增长的需求,并努力满足这些需求。

下面是Spring 的模块:

  • Spring MVC
  • Spring Security
  • Spring AOP
  • Spring ORM
  • Spring Data
  • Spring Test
  • Spring JDBC

这些模块可以大大减少应用程序的开发时间。

例如,在Java Web 开发的早期,需要编写大量样板代码以将记录插入数据源。但是,通过使用Spring JDBC 模块的JDBCTemplate,可以仅通过少量配置将其简化为几行代码。

Spring 框架的主要功能之一是依赖项注入 (DI) ,是开发松耦合应用程序变得更简单。

Spring Boot 框架

Spring Boot 基本上是Spring 框架的扩展,借助注释配置和默认代码,Spring Boot 缩短了开发应用程序所需的时间。它有助于创建配置少或几乎为零的独立应用程序。它提供另一个角度,是比Spring 平台更快更有效的开发生态系统(development eco-system)。

Spring Boot 使用了Spring 的各种组件,还有其他优点,例如将应用程序打包为jar包(可运行的),其中包括嵌入式Tomcat(或Jetty)容器。另外,Spring Boot 包含许多自动配置(默认配置的部分),它将根据缺省的约定俗成的创建缺少的类或bean。

Spring 优点

  1. 低侵入式设计,代码污染极低。
  2. 独立于各种应用服务器,基于Spring 框架的应用,可以真正实现Write Once,Run Anywhere的承诺。
  3. Spring 的DI机制降低了业务对象替换的复杂性,提高了组件之间的解耦。
  4. Spring 的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用。
  5. Spring 的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问。
  6. Spring 并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部。

Spring 提供了一个松散耦合的应用程序。但是,当有几个松散耦合的模块时,对其进行跟踪变得繁琐而又麻烦的任务。这就是Spring Boot 的用武之地,它不提供任何配置功能,从而简化了事情。它可以帮助开发人员轻松入门,甚至提供外部化的配置。

Spring Boot 优点

  1. Spring Boot不需要开发者部署WAR文件,直接打包成jar包,通过java -jar XXX.jar运行在服务器上。
  2. 约定大于配置(Convention over Configuration),框架根据惯例为用户提供合理的默认值。
  3. 快速的应用程序开发,减少样板配置。
  4. 便捷的依赖管理,简化您的Spring依赖关系,不再发生版本冲突。
  5. 嵌入式Servlet容器支持。

因此,Spring Boot 是基于Spring 的可用于生产的快速开发的平台。借助自动配置等功能,它可以避免编写冗长的代码,并避免不必要的配置。

这张图更加快速帮助你理解
Spring和SpringBoot的区别_第1张图片
图片地址:https://devrant.com/rants/1867059/spring-vs-spring-boot

Spring Boot 产生的原因

它实际上是做什么的?它有什么帮助?

加快发展

开发人员将时间投入到创建真正重要的解决方案以产生价值,而不是在建立开发环境和为项目进行配置,更改和编写样板代码上浪费精力和时间。

结语

Spring 框架为开发人员提供了诸如依赖注入(DI)或控制反转(IOC)之类的功能并能够处理事务,同时它还充当了其他Spring 框架的基础。最好的例子是Spring BootSpring Boot 使用Spring 框架作为基础,并在此基础上进行改进。简化了Spring 依赖关系,并直接从命令行运行应用程序。它还不需要应用程序容器。Spring Boot 主要帮助监视多个组件并在外部进行配置。

总而言之,Spring 框架做出了巨大贡献,并将继续做出贡献。有了上述许多功能,Spring 框架始终是开发人员的理想选择。但是,与Spring Boot 一起使用时,这是非常有帮助的。Spring Boot 附带的其他优点对于开发人员而言具有极大的价值,因为他们只需付出最少的努力即可完成项目。对于Spring 框架引起的开发效率问题,Spring Boot 是解决方案。

参考资料

Understanding the Basics of Spring vs. Spring Boot (了解Spring与Spring Boot的基础

  • https://dzone.com/articles/understanding-the-basics-of-spring-vs-spring-boot

A Comparison Between Spring and Spring Boot (Spring和Spring Boot的比较

  • https://www.baeldung.com/spring-vs-spring-boot

What is the difference between Spring Boot and the Spring framework? (Spring Boot和Spring框架有什么区别?

  • https://www.quora.com/What-is-the-difference-between-Spring-Boot-and-the-Spring-framework

Difference between Spring and Spring Boot (Spring和Spring Boot之间的区别

  • https://stackoverflow.com/questions/30080855/difference-between-spring-and-spring-boot

Difference between Spring and Spring Boot (Spring和Spring Boot之间的区别

  • https://java2blog.com/difference-spring-spring-boot/

你可能感兴趣的:(Spring,算法,Spring,SpringBoot)