家喻户晓,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)先脉络后细节的思维,比方无论是浏览文档、书籍、代码、画图等等所有,都能够依照先脉络后细节的思维来。