SpringBoot2学习之springboot与spring区别分析

目录
  • springboot与spring区别
    • 一、spring 可以做什么
    • 二、springboot
      • SpringBoot 优点
      • SpringBoot 缺点
    • 三、如何学习 springboot
      • 文档结构

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区别的资料请关注我们其它相关文章!

(0)

相关推荐

  • Spring与Spring boot的区别介绍

    Spring Boot 简介 spring框架功能很强大,但是就算是一个很简单的项目,我们也要配置很多东西.因此就有了Spring Boot框架,它的作用很简单,就是帮我们自动配置.Spring Boot框架的核心就是自动配置,只要存在相应的jar包,Spring就帮我们自动配置.如果默认配置不能满足需求,我们还可以替换掉自动配置类,使用我们自己的配置.另外,Spring Boot还集成了嵌入式的Web服务器,系统监控等很多有用的功,让我们快速构建企业及应用程序. 本文给大家介绍Springbo

  • SpringBoot与SpringCache概念用法大全

    目录 1.SpringCache的概念 2.SpringCache用法(redis版) 2.1 .SpringCache基本用法 2.2 .SpringCache自定义缓存key 2.3 .SpringCache更新缓存 2.4 .SpringCache清空缓存 2.5 .SpringCache其他用法 3.SpringCache用法(EhCache版) 1.SpringCache的概念 首先我们知道jpa,jdbc这些东西都是一些规范,比如jdbc,要要连接到数据库,都是需要用到数据库连接,预

  • SpringBoot与SpringSecurity整合方法附源码

    依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Thymeleaf --> <dependency> <groupId>org.thymeleaf<

  • springboot与springmvc基础入门讲解

    目录 一,SpringBoot –1,概述 –2,用法 二,SpringMVC –1,概述 –2,原理 –3,入门案例 总结 一,SpringBoot –1,概述 用来整合maven项目,可以和Spring框架无缝衔接. –2,用法 –1,创建SpringBoot工程:File-New-Project-选择Spring Init--next-输入groupId.项目id.选成jdk8-next-选择SpringWeb-ok –2,配置Maven:File-Settings-选择Build--Ma

  • SpringBoot与SpringMVC中参数传递的原理解析

    目录 一:普通参数与基本注解 二:复杂参数 一:普通参数与基本注解 HandlerMapping中找到能处理请求的Handler(Controller,method()) 为当前Handler找一个适配器HandlerAdapter:RequestMappingHandlerAdapter 1.HandlerAdapter 0-支持方法上标注@RequestMapping 1-支持函数式编程的 xxxx 2.执行目标方法 3.参数解析器:确定要执行的目标方法每一个参数的值是什么 boolean

  • 浅谈Springboot之于Spring的优势

    Spring在Java EE开发中是实际意义上的标准,但我们在开发Spring的时候可能会遇到以下令人头疼的问题: (1)大量配置文件的定义; (2)与第三方软件整合的技术问题,Spring每个新版本的推出都以减少配置作为自己的主要目标,例如: (a)推出@Component, @Service, @Repository, @Controller等注解在类上声明Bean; (b)推出@Configuration, @Bean的Java配置来替代Xml配置. 在脚本语言和敏捷开发大行其道的时代,J

  • SpringBoot2学习之springboot与spring区别分析

    目录 springboot与spring区别 一.spring 可以做什么 二.springboot SpringBoot 优点 SpringBoot 缺点 三.如何学习 springboot 文档结构 springboot与spring区别 一.spring 可以做什么 之前已经学习了 spring 的 IOC容器.AOP.springMVC 开发web应用等等,这里的 spring 实际是指 spring-framework 这个框架. 然而,宏观上的 spring 是一个生态圈. spri

  • Spring和SpringBoot有哪些区别

    概述 对于 Spring和 SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习 SpringBoot的我当时也是一头雾水,随着经验的积累.我慢慢理解了这两个框架到底有什么区别,相信对于用了 SpringBoot很久的同学来说,还不是很理解 SpringBoot到底和 Spring有什么区别,看完文章中的比较,或许你有了不同的答案和看法! 什么是Spring 作为 Java开发人员,大家都 Spring都不陌生,简而言之, Spring框架为开发 Java应用程序提供了全面的基础

  • Spring和SpringBoot比较及区别解惑

    1.概述: 对于 Spring 和 SpringBoot 到底有什么区别,我听到了很多答案,刚开始迈入学习 SpringBoot 的我当时也是一头雾水,随着经验的积累.我慢慢理解了这两个框架到底有什么区别,我相信对于用了 SpringBoot 很久的开发人员来说,有绝大部分还不是很理解 SpringBoot 到底和 Spring 有什么区别,看完文章中的比较,或许你有了不同的答案和看法! 2.什么是Spring呢? 先来聊一聊 Spring 作为 Java 开发人员,大家都 Spring 可不陌

  • Spring和SpringBoot之间的区别

    目录 Spring是什么? Spring Boot是什么? Maven依赖项 springboot为不同的Spring模块提供了许多启动程序依赖项.最常用的方法有: MVC配置 配置模板引擎 Spring Security 配置 Spring如何引导? 如何启动Spring Boot? 打包和部署 结论 在本教程中,我们将研究标准Spring框架和Spring Boot之间的区别. 我们将重点讨论Spring的模块,如MVC和Security,在核心Spring中使用时与在Boot中使用时的区别

  • springboot2学习世界著名程序springboot开发体验

    目录 springboot2程序开发 一.环境 关于 maven 配置 二.编写 helloworld 1. idea 设置 maven 2. 创建 maven 项目 3. pom 中导入父工程 4. 添加依赖 5. 编写代码 6. 运行程序 7. 访问请求 8. 简化配置 9. 简化部署 springboot2程序开发 一.环境 Java 8 Maven 3.3+ idea 2018(个人) 环境要先安装好. 关于 maven 配置 配置本地仓库 官网下载好 zip 包后解压,然后里面新建一个

  • SpringBoot整合Spring Security过滤器链加载执行流程源码分析(最新推荐)

    目录 1.引言 2.Spring Security过滤器链加载 2.1.注册名为 springSecurityFilterChain的过滤器 3.查看 DelegatingFilterProxy类 4.查看 FilterChainProxy类 4.1 查看 doFilterInternal方法 4.2 查看 getFilters方法 5 查看 SecurityFilterChain接口 6. 查看 SpringBootWebSecurityConfiguration类 总结: 1.引言 在 Sp

  • Java Springboot之Spring家族的技术体系

    一.Why Spring Boot 在传统 Spring 框架的基础上做了创新和优化,将开发人员从以往烦琐的配置工作中解放出来,并提供了大量即插即用的集成化组件,从而解决了各种组件之间复杂的整合过程,大大提高了开发效率,降低了维护成本. 比如, 原本使用的是 Spring MVC 框架, 在整个开发过程中,除了需要编写一大堆配置文件.针对每个层次引入专门的开发组件外,还需要独立部署和管理应用服务器.最后,为了对系统的运行状态进行有效监控,还需要引入一些并不好用的外部框架. 而使用了 Spring

  • 详解Spring-Boot集成Spring session并存入redis

    spring Session 提供了一套用于管理用户 session 信息的API和实现. Spring Session为企业级Java应用的session管理带来了革新,使得以下的功能更加容易实现: 编写可水平扩展的原生云应用. 将session所保存的状态卸载到特定的外部session存储中,如Redis或Apache Geode中,它们能够以独立于应用服务器的方式提供高质量的集群. 当用户使用WebSocket发送请求的时候,能够保持HttpSession处于活跃状态. 在非Web请求的处

  • SpringBoot集成Spring Data JPA及读写分离

    相关代码: github OSCchina JPA是什么 JPA(Java Persistence API)是Sun官方提出的Java持久化规范,它为Java开发人员提供了一种对象/关联映射工具 来管理Java应用中的关系数据.它包括以下几方面的内容: 1.ORM映射 支持xml和注解方式建立实体与表之间的映射. 2.Java持久化API 定义了一些常用的CRUD接口,我们只需直接调用,而不需要考虑底层JDBC和SQL的细节. 3.JPQL查询语言 这是持久化操作中很重要的一个方面,通过面向对象

  • 面试题:react和vue的区别分析

    react和vue是什么?有啥区别吗? 三大框架之二,大家应该都不会陌生,都有学习过或者开发中使用. 但是他们到底有啥区别呢?这个就是我们这篇文章所需探讨并学习的. 开始! MVC 和 MVVM 首先,来说明下这些字母代表的含义 M:Model 模型 V:View 视图 C:Controller 控制器 VM:ViewModel 视图模型 首先说下MVC,大家肯定也知道三大框架中的另外一个(anuglar). 如果你写过angular那就肯定能很清楚的了解这个含义,看如下代码: <input n

随机推荐