当前位置: 首页 > 科技观察

精讲SpringBoot——入门+进阶+实例

时间:2023-03-22 16:43:36 科技观察

到底什么是SpringBoot?在了解SpringBoot之前,首先要了解Spring,因为SpringBoot的核心是基于Spring的。Spring是RodJohnson于2002年创建的一个开源框架。Spring自创建以来发展迅速。它已成为J2EE开发中事实上的标准。但是随着IT技术的飞速发展,IT项目变得越来越复杂。如果你学过Spring,你就会知道Spring非常依赖xml文件进行配置。有时候一个项目有几十个xml配置文件,这些繁琐的配置,还有Spring集成第三方框架的配置问题。往往导致开发效率低下,一不小心就把东西扔掉了;有时不慎导致发布失败,给公司造成经济损失。SpringBoot是由Pivotal团队创建并于2014年发布的全新框架,其设计目标是简化Spring应用的构建、开发和部署。SpringBoot以特定的方式进行配置,让开发者不再需要配置繁琐的xml文件。简单来说,SpringBoot并不是一个新的框架,它只是摒弃了xml的配置方式,使用了一种新的配置方式;然后使用maven中的starter方法集成了很多第三方框架,并提供了很多默认的配置参数。SpringBoot官网就像【图1】中的一段话:【图1】这一段和上面的解释差不多。你为什么不学习SpringBoot?SpringBoot从1.0发展到2.0仅用了四年时间;并在短短四年内风靡全中国。小公司和大企业都在使用它。1、SpringBoot能做??什么?打开Spring的官网(https://spring.io/),我们会看到如下图【图2】:【图2】看图中的方框就知道,Spring官方对SpringBoot的定位是BuildAnything,这意味着SpringBoot可以构建任何东西。SpringBoot旨在以最少的配置快速、高效地构建Java应用程序。学习了SpringBoot之后,还有更高级的SpringCloud和SpringCloudDataFlow。SpringCloud的定位是CoordinateAnything(协调任何东西),SpringCloudDataFlow的定位是ConnectEverything(连接任何东西)。仔细考虑了SpringCloud和SpringCloudDataFlow,发现Cloud和Data都与现在最热门的技术有关。Cloud对应于cloud,Data对应于数据。SpringCloud和SpringCloudDataFlow都是基于SpringBoot的,所以必须先学习SpringBoot。2、企业招聘对SpringBoot的需求及Spr??ingBoot的百度搜索索引打开国内知名的招聘网站,比如猎聘网搜索,可以发现很多Java相关的职位对SpringBoot技术有需求。如图【图3】所示,这家Oralce公司的招聘职位在招聘的职位描述中要求使用SpringBoot。【图3】SpringBoot已经成为Java程序员打怪升级的必备技能。更不用说SpringBoot有多重要了。看看SpringBoot关键字的百度搜索指数(http://index.baidu.com)。自2014年推出SpringBoot以来,SpringBoot在百度的搜索指数一直在稳步增长[图4]。说明程序员或公司对SpringBoot的重视程度很高。[图4]3.SpringBoot的好处使用SpringBoot后,它能给开发者带来哪些好处?能给运维人员带来什么便利?甚至能给公司带来什么经济效益?看图【图4】5】说说:【图5】1.基于SpringSpringBoot是基于Spring的,所以Spring和SpringBoot有同样的优点。不需要开发者去学习一个新的框架,学习门槛比较低。2、快速编码SpringBoot的依赖包是基于maven的pom文件提供的,SpringBoot本身集成了很多第三方框架。以往在开发Spring应用时,需要用到的第三方框架的库,需要开发者一一查找;现在不需要了,有的可能只需要引入一个pom.xml就可以导入大量需要用到的第三方库。自动导入到项目中。从而减少了开发工作量,实现了快速编码。3、模块化基于SpringBoot开发的项目可以轻松实现模块化编程,从而非常有效地实现项目的分工和协作,减少开发过程中的代码冲突。模块化编程还可以非常高效地减少代码改动量,按需修改模块,降低生产事故发生的概率。4、配置简单文章开头提到,SpringBoot摒弃了繁琐的xml配置文件,大量的配置文件往往是生产事故的根源。SpringBoot大量使用yml形式的配置文件加上相应的Annotation,大大减少了配置文件的数量,因为之前的Spring应用中引入第三方框架可能需要添加配置文件。比如项目中要引入数据库连接池HikariCP,需要添加一个关于HikariCP数据库连接池的配置文件,但是如果使用SpringBoot来使用HikariCP,可能只需要几行配置,因为SpringBoot默认集成了HikariCP数据库连接池,并提供了很多默认配置。5.部署方便SpringBoot为简单快速的部署而生。SpringBoot内嵌了Tomcat,不需要额外部署应用服务器Tomcat,只是一个简单的Java运行环境,启动命令也很简单:java–jarxxx-release.jar。同时,SpringBoot结合目前非常流行的Docker、Kubernetes等技术,可以快速实现集群部署。6、有效的监控SpringBoot集成了一个非常高效的监控框架,只要简单的引入spring-boot-start-actuator的依赖,就可以实现对服务性能的监控。结合SpringCloud,可以实现对整个微服务链路的全天候监控。