Spring Boot的基本概念、优缺点

在繁杂纷乱的现代社会,人们或为学业孜孜以求,或为生计四处奔波,或陷入爱情漩涡无法自拔,或为生活中的琐事烦躁不已。你有没有觉得自己越来越像机器,每日按部就班,却几乎从未真正体验过自己的内心?我们所体验的自己,实际上往往是他人认为我们“应该是怎样”的人。你是否曾发出“我迷失了”的感叹?
聪明的人只要能认识自己,便会挽回很多曾经本不该失去的东西。

1、什么是 springboot?

Spring Boot是由Pivotal团队提供的基于Spring框架开发的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程,并不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器),准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置。

注意1: Spring Boot的底层还是Spring、SpringMVC这些东西,只是帮助我们简化了很多操作步骤,如pom文件中我们会根据需要加入相应的jar包,如spring的、springmvc的、mybatis的等等,所以如果想要学好SpringBoot,还是需要好好学一下理解一下Spring和SpringMVC。举个例子,这就像我们日常生活中所用到的水笔,Sping相当于是水笔中的水管,我们可以直接拿着水管来写字,这是完全可以的,但是会很难受,写字的效率也比较低,但是我们可以很清晰地发现之所以能写出来字就是因为水管中的墨水;而SpringBoot就相当于是带有壳的水笔,从外面我们看不到壳子里面是什么样的,但是我们却可以更佳便捷地、顺手地使用它来进行写字,但是一旦出了问题,如墨水用完了,我们可能就不知道怎么办了,而解决的办法还是从水管抓手。
注意2: spring大家都知道,boot是启动的意思。所以,spring boot其实就是一个启动spring项目的一个工具而已。从最根本上来讲,Spring Boot就是一些库的集合,它能够被任意项目的构建系统所使用。

2、为什么要用springboot

以前在写spring项目的时候,要配置各种xml文件。随着spring4,spring5的相继推出,约定大于配置逐渐成为了开发者的共识,大家也渐渐的从写xml转为写各种注解,在spring4的项目里,你甚至可以一行xml都不写。虽然spring4已经可以做到无xml,但写一个大项目需要茫茫多的包,maven配置要写几百行,也是一件很可怕的事。`

现在,快速开发一个网站的平台层出不穷,nodejs,php等虎视眈眈,并且脚本语言渐渐流行了起来(Node JS,Ruby,Groovy,Scala等),spring的开发模式越来越显得笨重。 在这种环境下,spring boot伴随着spring4一起出现了。 springboot 的使用很简单,我们只需要将原先我们的 xml 配置中的内容通过 java 方式配置过去即可,大部分配置已经被 springboot 自己装配,我们只需要将需要我们自己写的配置单独写出来即可。

3、Spring Boot如何做到简洁优雅

(1)快速构建独立的Spring应用
(2)直接嵌入Tomcat(默认)、Jetty和Undertow,无需外部依赖Servlet容器
(3)提供依赖启动器简化构建配置
(4)极大程度的自动化配置Spring和第三方库
(5)极少的代码生成和XML配置

4、Springboot优缺点

(优点)
1.创建独立的Spring应用程序
SpringBoot可以jar包的形式进行独立的运行,使用:java -jar xx.jar就可以成功运行项目,或者在项目的主程序中运行main函数
2.嵌入的Tomcat,Jetty或者Undertow,可以不用部署WAR文件
Spring 项目部署时需要我们在服务器上部署 tomcat,然后把项目打成 war 包扔到 tomcat里
springboot项目不需要单独下载Tomcat等传统服务器,内嵌容器,使得我们可以执行运行项目的主程序main函数,并让项目的快速运行,另外,也降低对运行环境的基本要求,环境变量中有JDK即可。
3.允许通过maven来根据需要获取starter
Spring Boot提供了一系列的starter pom用来简化我们的Maven依赖,通过这些starter项目就能以Java Application的形式运行Spring Boot项目,而无需其他服务器配置。对于复杂的项目之前需要在pom文件导入大量的jar包,现在通过starter导入,pom文件会干净很多。
starter pom:https://docs.spring.io/spring-boot/docs/1.4.1.RELEASE/reference/htmlsingle/#using-boot-starter
4.尽可能自动配置Spring
在SpringBoot之前,使用Spring可以说,并不是那么的方便,其实也主要是在搭建一个基于Spring Framework的项目时这个困扰。Spring本身的配置,整合SpringMVC,整合Struts2,整合mybatis等等,如果是Web应用还有个web.xml需要配置。什么都要你去配置一下,第一步就是去找怎么配置,记住这么配置是如何配的,其实并没有切实的意义,毕竟又不是经常需要去搭建一个项目。正因为不常这么配置,不值得记住如何配置,导致每次实际用到时,很麻烦,到处去找如何配置的XML配置文件。
SpringBoot的出现,正是为了解决这个问题,让你可以不去做任何配置的情况下,运行一个Spring应用,或者Web应用。不用配置web.xml,spring.xml,srpingmvc.xml,springboot帮你配置了。不用配置tomcat,springboot内嵌了tomcat。
5.提供生产就绪型功能,如指标、健康检查和外部配置
SpringBoot提供了基于http、ssh、telnet对运行时的项目进行监控;我们可以引入 spring-boot-start-actuator 依赖,直接使用 REST 方式来获取进程的运行期性能参数,从而达到监控的目的,比较方便。但是 Spring Boot 只是个微框架,没有提供相应的服务发现与注册的配套功能,没有外围监控集成方案,没有外围安全管理方案,所以在微服务架构中,还需要 Spring Cloud 来配合一起使用。
6.绝对没有代码生成,对XML没有要求配置
(缺点)
1.版本迭代速度很快,一些模块改动很大
2.由于不用自己做配置,报错时很难定位
3.网上现成的解决方案比较少。

Spring Boot的基本概念、优缺点_第1张图片
【知识点拓展】
前后端分离:指后端在做开发的时候,完全不用考虑html、css这些东西,而前端在做开发的时候也同样不需要考虑java的任何东西,可以分开并行操作,中间通过接口来进行访问。这种方式前端开发和后端开发完全分离,可以由前后端两个团队分开同步开发,只需要协商好接口就行,前端负责开发页面并调用后端接口展示数据,后端负责提供Restful风格的接口。

你可能感兴趣的:(Vue3.0框架,spring,boot,java,spring)