• Spring和SpringBoot的区别


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

    文章目录

    简述

    在过去的几年中(the past few years),不断的对_Spring_ 框架增加新功能,使得它变得越来越复杂(complex)。开发人员需要经过一个漫长的周期才能搭建一个新的_Spring_ 项目。为了避免从头开始,并节省时间(save time),引入了_Spring Boot_。Spring 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_ 的可用于生产的快速开发的平台。借助自动配置等功能,它可以避免编写冗长的代码,并避免不必要的配置。

    这张图更加快速帮助你理解
    在这里插入图片描述
    图片地址:https://devrant.com/rants/1867059/spring-vs-spring-boot

    Spring Boot 产生的原因

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

    加快发展

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

    结语

    Spring 框架为开发人员提供了诸如依赖注入(DI)或控制反转(IOC)之类的功能并能够处理事务,同时它还充当了其他_Spring_ 框架的基础。最好的例子是_Spring Boot_ 。Spring 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的基础

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

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

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

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

  • 相关阅读:
    SpringBoot2.0---------------14、SpringBoot中Web原生组件注入
    线程池的异常处理机制
    腾讯云轻量数据库性能如何?轻量数据库租用配置价格表
    嵌入式基础准备 | Linux命令(包括 文件、目录和压缩、系统操作、vi、vim、ctags、cscope)
    Hadoop源码阅读(二):DataNode启动
    PyTorch入门教学——Transforms使用
    005-BSP学习笔记-Uboot图形化配置
    用DIV+CSS技术制作个人博客网站(web前端网页制作课期末作业)
    CPU的三级缓存
    ERR_FAILED 200 解决方案
  • 原文地址:https://blog.csdn.net/m0_67401746/article/details/126516518