SpringBoot2学习之springboot与spring区别分析

 更新时间:2022年05月28日 10:13:31   作者:把苹果咬哭的测试笔记  
这篇文章主要为大家介绍了SpringBoot2学习之springboot与spring区别分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

springboot与spring区别

一、spring 可以做什么

之前已经学习了 spring 的 IOC容器、AOP、springMVC 开发web应用等等,这里的 spring 实际是指 spring-framework 这个框架。

然而,宏观上的 spring 是一个生态圈。

spring 可以做什么?参考官网:

微服务开发:当系统功能越来越多,就需要进一步拆分系统功能,一个模块一个应用,spring 可以帮助快速开发微服务。

  • 响应式编程:基于异步非阻塞,可以通过整个应用之间构建异步数据流的方式。异步数据流允许占用少量的资源,比如线程、内存、CPU等,构建一个高吞吐应用。
  • cloud 分布式云开发:将大型应用拆分成微小应用之后,就会产生分布式应用,cloud 提供解决方案。
  • 开发web应用:像之前示例里的,利用框架完成页面和后台系统的交互
  • serverless:无服务开发。简单来说,函数即服务,无需购买任何服务器,上到云平台,按照实际占用的资源计费,节省成本。
  • 事件驱动:基于事件的方式构建实时数据流,可以通过响应式编程,完成高吞吐应用的开发。
  • batch:批处理业务。

spring 生态圈里有丰富的内容,这些组合起来就可以帮我们完成这么多事情,上面也只是几大特色而已。

当然,在使用生态圈里的内容进行整合使用的过程中也是有点痛苦的,往往会陷入"配置地狱"。这一点,在之前的springMVC学习中也已经有所体验了,这还仅仅是整合了 springMVC 而已。

那么,谁来解决这个问题呢?没错,就是springboot。

二、springboot

解放繁琐的配置,是springboot与生俱来的使命。

springboot 就相当于是一个高层的框架,底层还是spring-framework。它可以整合整个 spring 系列的技术栈,帮我们完成应用开发,不用写那么多繁重的配置。

打个比方,你买电脑虽然可以自己 diy组装,但是需要非常强的动手能力。但是大多数人还是喜欢省事点,直接买个品牌机器,开箱即用。

本次学习是基于springboot2,由于spring5引入了重大升级,所以springboot2相比之前版本也是有不少的使用变化。

spring5 中的大更新就是响应式编程,对应的在 springboot2中,数据访问层就支持了构建异步数据流的方式进行响应式开发。

SpringBoot 优点

  • 创建独立Spring应用
  • 内嵌web服务器:在之前springmvc 开发应用,最终把应用打成一个war包,最终部署到tomcat上。所以,目标环境里还需要装tomcat,进行配置等。
  • 使用soringboot,目标环境即使没有tomcat也没关系,这里已经集成了,直接运行即可。
  • 自动 starter 依赖,简化构建配置:
  • 之前开发springmvc,需要导入一大堆依赖,现在只需要导入一个依赖web-starter。另外还可以自动帮我们控制好导入的版本,保证可以协同工作。
  • 自动配置Spring以及第三方功能:这个就是我们最喜欢的,可以解放配置的功能。
  • 提供生产级别的监控:提供生产级别的监控、健康检查及外部化配置。几乎不用任何配置,运维人员就可以监控到指标。
  • 无代码生成,无需编写 xml:底层自动发现场景,进行配置。

总之,springboot是整个 spring 技术栈的一站式框架。或者说是,简化 spring 技术栈的快速开发脚手架。

SpringBoot 缺点

  • 版本抵达快,需要时刻关注变化。这也变相说明生态社区非常活跃,其实也不算是个缺点,算特点。
  • 封装太深,内部原理负责,不容易精通。

三、如何学习 springboot

最好的老师,还得是官方文档

地址:https://spring.io/projects/spring-boot

进入官方地址后,点击LEARN可以看到有好多版本,以正式稳定版为主,点击2.5.4 GA后的文档连接,进入说明文档。

文档结构

大概分为下面的模块:

官方文档是后续学习过程中,依赖的重要学习资料。

如果要去了解版本的更新内容,

可以到 https://github.com/spring-projects/spring-boot/wiki#release-notes

查看版本日志。

以上就是SpringBoot2学习之springboot与spring区别分析的详细内容,更多关于springboot与spring区别的资料请关注脚本之家其它相关文章!

相关文章

  • JVM Tomcat性能实战(推荐)

    JVM Tomcat性能实战(推荐)

    下面小编就为大家带来一篇JVM Tomcat性能实战(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • Java利用JavaCPP调用算法示例

    Java利用JavaCPP调用算法示例

    本文主要介绍了Java利用JavaCPP调用算法示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • SpringBoot3集成iText实现PDF导出功能

    SpringBoot3集成iText实现PDF导出功能

    不知道小伙伴们在项目中有没有遇到过导出 PDF 的需求,小编在之前的 tienchin 项目中有一个合同导出的功能,需要将文档导出为PDF,将文档导出为 PDF 有很多方案,不同方案的优缺点也各不相同,今天小编就和大家演示一个,感兴趣的小伙伴跟着小编一起来看看吧
    2024-10-10
  • Java中的Random()函数及两种构造方法

    Java中的Random()函数及两种构造方法

    Java中存在着两种Random函数分别是java.lang.Math.Random和java.util.Random,文中给大家介绍了random()的两种构造方法,感兴趣的朋友跟随小编一起看看吧
    2018-11-11
  • 快速上手Mybatis-plus结构构建过程

    快速上手Mybatis-plus结构构建过程

    这篇文章主要介绍了快速上手Mybatis-plus结构构建过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • tomcat启动完成执行 某个方法 定时任务(Spring)操作

    tomcat启动完成执行 某个方法 定时任务(Spring)操作

    这篇文章主要介绍了tomcat启动完成执行 某个方法 定时任务(Spring)操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Java对接微信支付全过程

    Java对接微信支付全过程

    本文主要介绍了Java对接微信支付全过程,涵盖注册商户、生成预支付订单、处理回调和查询订单状态等,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • mybatis plus generator 根据数据库自动生成实体类的实现示例

    mybatis plus generator 根据数据库自动生成实体类的实现示例

    本文主要介绍了mybatis plus generator 根据数据库自动生成实体类的实现示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • eclipse配置javap命令的方法

    eclipse配置javap命令的方法

    本篇文章主要介绍了如何为eclipse配置javap命令,在配置过程中会出现的小问题的解决方法,非常实用,需要的朋友可以参考下
    2015-07-07
  • 利用Java实现在线图片URL转换为Base64以及反向解析成图片

    利用Java实现在线图片URL转换为Base64以及反向解析成图片

    Base64 是一种将二进制数据编码为 ASCII 字符串格式的方法,常用于在网络中安全传输图片、文件等内容,本文给大家介绍了如何利用Java实现在线图片URL转换为Base64以及反向解析成图片,文章有相关的代码和图文供大家参考,需要的朋友可以参考下
    2025-03-03

最新评论