spring boot教程之产生的背景及其优势

 更新时间:2022年08月24日 08:50:19   作者:字母哥  
这篇文章主要介绍了spring boot教程之产生的背景及其优势的相关资料,需要的朋友可以参考下

一、前置说明

本节大纲

  • spring boot 诞生的背景
  • Spring boot 改变了什么
  • Spring Boot主要特性
  • Spring Boot集成第三方开源组件的步骤

二、spring boot诞生的背景

在spring boot出现以前,使用spring框架的程序员是这样配置web应用环境的,需要大量的xml配置。下图展示了在xml配置的时代和SpringBoot的配置量的差别。

  • 随着web项目集成软件的不断增多,xml配置也不断的增多,xml配置文件也在不断地增多,项目的依赖管理也越发的复杂。spring框架也因此饱受争议,配置文件难以理解且容易出错。
  • xml配置文件不但复杂,而且绝大部分属于模板配置,也就是说有80%以上的配置是不断重复的。在这个web项目里面这样配置,挪到另一个项目里面这部分配置仍然相同。

因此,像JFinal这种轻量级的web开发框架,因为其简单易用的特性,而逐渐的有了很大发展的空间。Spring社区也逐渐意识到了这个问题,在 2013 年的 SpringOne 2GX 会议上,Pivotal 的 CTO Adrian Colyer 回应了关于spring框架使用复杂度的问题,并且特别提到该平台将来的目标之一就是实现免 XML 配置和提供更佳开发体验。也就是我们今天使用到的spring boot的诞生的主要原因。

Spring 开源社区背后有强大的商业公司支持,目前已知的支持力度比较大的公司就是Pivotal 、netflix以及中国的阿里巴巴。

三、spring boot 改变了什么

举一个例子:自己接电线与标准化插座Spring Boot的配置方式,就像是插头插座,就是这个标准。你第三方开源类库想接入进来,你就按照这个标准做一个starter的适配。spring MVC方式就像是手动接电线,很灵活,但是不同的人接出来的效果千差万别,而且很容易出错。Spring boot虽然灵活性不如Spring MVC的方式,并且你也不太清楚插座里面的线路是什么样,但就是方便易用。话说回来,当你习惯使用插头插座,你还期望自己是个电工不成?


Spring Boot 的目标不在于为已解决的问题领域提供新的解决方案,而是为平台带来另一种新的开发体验,从而简化对这些已有技术的使用。

  • 使配置变简单
  • 使监控变简单
  • 使部署变简单
  • 使开发变简单

具体这些改变如何得以体现,请学习后面的章节!

四、Spring Boot主要特性

  • 遵循“约定优于配置”的原则,简化配置
  • 可以完全脱离XML配置文件,采用注解配置和java Config
  • 内嵌Servlet容器,应用可用jar包执行:java -jar
  • 快速完成项目搭建、整合第三方类库,方便易用
  • 提供了starter POM, 能够非常方便的进行包管理, 简化包管理配置
  • 与Spring cloud天然集成,spring boot是目前java体系内实现微服务最佳方案

五、Spring Boot集成第三方类库的步骤

  • 通过maven引入springboot-XXXX-starter
  • 修改ymal或properties全局统一配置文件
  • 加入一个Java Config。这个属于个性化配置,如果使用通用配置,这一步不需要。

有哪些官方已经默认集成的类库?请参考:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-starter

到此这篇关于spring boot教程之产生的背景及其优势的文章就介绍到这了,更多相关spring boot 产生的背景及其优势内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mybatis Interceptor 拦截器的实现

    Mybatis Interceptor 拦截器的实现

    这篇文章主要介绍了Mybatis Interceptor 拦截器的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • Java8时间转换(LocalDateTime)代码实例

    Java8时间转换(LocalDateTime)代码实例

    这篇文章主要介绍了java8时间转换(LocalDateTime)代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • java使用TimerTask定时器获取指定网络数据

    java使用TimerTask定时器获取指定网络数据

    java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks。一个TimerTask实际上就是一个拥有run方法的类,需要定时执行的代码放到run方法体内,TimerTask一般是以匿名类的方式创建,下面的就用示例来学习他的使用方法
    2014-01-01
  • MyBatis获取插入记录的自增长字段值(ID)

    MyBatis获取插入记录的自增长字段值(ID)

    本文分步骤给大家介绍了MyBatis获取插入记录的自增长字段值的方法,在文中给大家提到了mybatis返回插入数据的自增长id,需要的朋友可以参考下
    2017-11-11
  • 详解如何解决SSM框架前台传参数到后台乱码的问题

    详解如何解决SSM框架前台传参数到后台乱码的问题

    这篇文章主要介绍了详解如何解决SSM框架前台传参数到后台乱码的问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Spring-boot 2.3.x源码基于Gradle编译过程详解

    Spring-boot 2.3.x源码基于Gradle编译过程详解

    这篇文章主要介绍了Spring-boot 2.3.x源码基于Gradle编译过程详解,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • SpringBoot yml配置文件调用过程解析

    SpringBoot yml配置文件调用过程解析

    这篇文章主要介绍了SpringBoot yml配置文件调用过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • springboot + devtools(热部署)实例教程

    springboot + devtools(热部署)实例教程

    devtools是boot的一个热部署工具,当我们修改了classpath下的文件(包括类文件、属性文件、页面等)时,会重新启动应用。本文通过实例给大家介绍springboot+devtools热部署,感兴趣的朋友一起看看吧
    2017-04-04
  • Java中volatile关键字的作用与用法详解

    Java中volatile关键字的作用与用法详解

    volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。这篇文章主要介绍了Java中volatile关键字的作用与用法详解的相关资料,需要的朋友可以参考下
    2016-09-09
  • Springboot整合Redis最简单例子分享

    Springboot整合Redis最简单例子分享

    这篇文章主要介绍了Springboot整合Redis最简单例子分享,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10

最新评论