家喻户晓,Spring是java中利用最为宽泛的框架,而近些年来SpringBoot的衰亡,让Spring的利用和便当更上一层楼。

明天咱们第一节,就来意识下SpringBoot给我带来什么,它的外围特点是哪些。

意识一个新技术的时候,通常是从一个入门的HelloWorld开始,之后浏览它的一些入门文档和书籍、视频,从而把握它的根本应用。

而SpringBoot曾经广为java工程师所周知了,然而它外围的特点,不同人的意识还是有所不同。明天,咱们就从官网登程,看看官网是定义它的特点和劣势的。

最初我联合本人的思考,总结下本人的了解。

从官网开始意识SpringBoot

从官网https://spring.io/projects 咱们能够看到如下对SpringBoot的介绍:

SpringBoot介绍:“从构建Spring应用程序登程,让您尽可能快的启动运行Spring应用程序。” 能够看到SpringBoot实质是为了更好的、更便当的应用Spring,这个是它诞生的初衷。

这里我要额定说一点的是,程序员写代码的时候,思维远远比办法重要。所以咱们了解代码最要害的是了解它的思维,而不是仅仅简略的应用它。框架无非是解决了一系列场景问题的技术计划而已,有各自的实用场景。这个就是思维,才是咱们要把握的,而不是说我把握了多少个框架。

回归正题,咱们通过官网,之所以更多的是要看看它创作SpringBoot的目标,SpringBoot的框架解决了什么问题,特点是什么。之后站在肯定高度去了解SpringBoot,能力更好地学习它。这个是我想要教给大家的办法,让咱们持续来看。

官网如何介绍SpringBoot提供了哪些性能?

方才通过官网的介绍,你晓得了Springboot的是为了更好的便当的应用Spring,创立应用程序。那它提供了什么性能,让咱们更好的应用Spring呢?

这个当然是作者给出的答复最好了。通常你能够通过一个技术的官网文档来理解它。SpringBoot的官网文档,编写的还是十分好的。你能够参考:https://docs.spring.io/spring...

官网文档是十分具体的,就像一本书一样,咱们怎么找到咱们想要的知识点呢?其实思路很简略,找下目录,就和咱们看书一样,或者看课程目录一样,先大体过一下目录,就晓得本人想要的只是在哪里了。先脉络后细节的思维是我始终在强调的。

比方我么你想要找SpringBoot外围提供哪些性能。首先在overview中,就是介绍它的大体性能

在目录中咱们找到了,两个章节可能和介绍性能无关,如下图:

你能够都关上看看,首先是Documentation Overview,外面确实有介绍SpringBoot性能特点,如下图所示:

这个Documentation Overview,能够看进去,次要是对SpringBoot 性能一个是概要形容,其中第4点中,介绍了Core Featues,也就是外围性能。

这个就是咱们想找的,官网了解。外围性能中次要有:SpringApplication | External Configuration | Profiles | Logging。其次还有MVC | Embedded Containers等。

参考文档中另一链接,是对SpringBoot性能一个特地具体的形容。能够看到,右边目录有SpringApplication的介绍,Profiles、Logging等各个性能介绍。

通过下面的overview和目录中的两篇文档对SpringBoot 性能的介绍,其实曾经介绍了SpringBoot的性能了。你须要大体对官网给SpringBoot定义的性能,能够概括如下:

1)官网外围定义了一个SpringApplication的概念,实现web利用的新流程,反对本人内嵌了一个web容器

2)官网给出了可扩大配置,便捷的和Spring整合各种技术

3)提供了各种便捷的性能,如Profile多环境配置,Logging灵便的日志组件插拔、各种技术的便捷应用等等。

咱们通过去官网文档寻找SpringBoot外围性能,教给大家了很重的一个思维,先脉络后细节的思维。这个十分要害,这个思维之后咱们会始终用到的。

本人对SpringBoot性能的思考

有了下面的官网文档的一些介绍,上面咱们来联合本人的了解,思考下SpringBoot的性能到底给咱们带来了什么。

1、SpringBoot定义了新的web利用启动流程

首先第一点最重要就是,引入了一个SpringApplication的概念,它这个概念理论是定义了一套新的web利用启动流程。

你能够回忆一下,在没有SpringBoot的时候,咱们开发和启动web利用时,次要流程如下:

1)通过Spring先整合好一些web框架如SpringMVC/Struts2,实质是整合DistpatherServelt/Listener到Tomcat的启动流程中

2)通过构建工具如Maven将开发好的我的项目打成一个War包,丢入到Tomcat的webApp目录

3)启动Tomcat,承受http、rpc等申请交给Spring创立的各种bean来解决申请。

整体流程如下图所示:

而应用了SpringBoot,它引入了一个SpringApplication的概念,定义了一套新的启动流程,次要有如下几步

1、定以main函数入口
2、主动拆卸内部配置 ,如starter等
3、创立Spring IOC容器
4、启动tomcat web容器

新定义的web利用启动的流程变成了如下图所示:

当然SpringBoot也反对打成war包,丢入到Tomcat中,不应用内嵌容器这个性能。然而其余的SpringBoot性能仍是很好用的,比方常说的主动拆卸配置。

2、SpringBoot的主动拆卸配置解决了Spring集成各种技术的复杂性

咱们之前提到过,SpringBoot的核心思想是为了更好的、更便当的应用Spring,构建web利用。

那Spring创立应用程序,有什么痛点问题呢? 很要害的一个问题,就是Spring集成各种技术的复杂性。

你可曾记得,之前你本人刚开始学习Spring,之后本人集成SSH、SSM各种框。随着学习框架和技术越来越多,比方Mybatis、Hibernate、Struts2 、SpringMVC、Shiro、MySQL、ES、MongoDB、MQ等等。简直每学习应用一个其余框架或者技术,本人就要整合一大堆配置。随着技术利用越多,这个是很令人头疼的问题。

之前咱们都是本人来整合这些框架,有了SpringBoot之后,咱们能够通过主动起步依赖的starter,主动拆卸配置,来解决各种框架整合带来的简单、反复的配置。如下图所示:

有了SpringBoot之后,能够通过官网或者自定义一些starter起步主动依赖,来实现各种技术的主动拆卸配置,大大减少了各种技术的整合和应用老本。

当然,应用SpringBoot这个性能,你肯定要对主动拆卸配置的原理有清晰的了解和意识,这样能力驾驭了好它,不然反而会带来更多的麻烦和问题。这个之后咱们具体带大家剖析SpringBoot的这些原理的,让大家更好的能够把握SpringBoot。

3、SpringBoot提供了很多便当的性能和扩大点

在我的了解中,SpringBoot除了上述的两个特点外,剩下的就是它的一些便当的性能和扩大点了。比方官网中提到的多环境配置Profile、日志组件的可插拔Logging、各种技术的便捷整合应用等等,还有整个SpringBoot的启动过程设置了许多扩大点。如下图所示:

其实还有很多,有急躁的同学能够每天看一大节SpringBoot的官网文档去理解下,也能够跟着成长记,一起剖析和成长。

当你对SpringBoot的应用、原理、甚至是源码,有着越来越多的意识后,心愿每个人都能够成为SpringBoot的专家,精通SpringBoot。

小结

明天除了意识SpringBoot的性能特点,更重要的是学习了几个重要的思维。这里简略小结下。

学习到的次要知识点:

1、意识SpringBoot(如何从官网意识一个技术)

1)官网外围定义了一个SpringApplication的概念,实现web利用的新流程,反对本人内嵌了一个web容器

2)官网给出了可扩大配置,便捷的和Spring整合各种技术

3)提供了各种便捷的性能,如Profile多环境配置,Logging灵便的日志组件插拔、各种技术的便捷应用等等。

2、本人对SpringBoot性能的思考

SpringBoot定义了新的web利用启动流程、SpringBoot的主动拆卸配置解决了Spring集成各种技术的复杂性、SpringBoot提供了很多便当的性能和扩大点

通过如何从官网意识一个技术(SpringBoot)的性能,学习了一些思维。

学习到的要害思维:

1)看待新常识和新技术,永远要抱着思考的想法,在一直学习中重复思考。古话说的好,学而不思则罔,思而不学则殆。就是这个意思。其实程序员写代码的时候,也一样,思维远远比办法重要。所以咱们本人写代码也好,了解他人代码也好。最要害的是了解它的思维,而不是仅仅简略的应用它,理解它的流程之类的。

2)先脉络后细节的思维,比方无论是浏览文档、书籍、代码、画图等等所有,都能够依照先脉络后细节的思维来。