Spring和SpringBoot的区别

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

简述

在过去的几年中(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 的可用于生产的快速开发的平台。借助自动配置等功能,它可以避免编写冗长的代码,并避免不必要的配置。

这张图更加快速帮助你理解
在这里插入图片描述
图片地址: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的基础

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之间的区别

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值