这是我参与8月更文挑战的第9天,活动详情查看:8月更文挑战
前言
至此,经过一系列的更文,从简单的自定义注解到实现自己的starter
,从简单地run
方法到深入其启动原理,我们围绕Spring Boot
已经由浅及深做了方方面面的介绍,限于篇幅,Spring Boot
相关的更文准备收尾了,虽然还有不少Spring Boot
的一些特性没能介绍完,但对于这个框架也应该认识更加深刻。那么请问,到底什么是Spring Boot
呢?
发展历程
- 在开始了解
Spring Boot
之前,我们需要先了解一下Spring
。可以肯定,Spring Boot
的诞生离不开Spring
的发展。在诞生之初,Spring
就是为了简化替代日益重量级的企业级Java技术。但随着时间的推移,JavaEE
自身也在不断的演化,面向简单JavaBean
模型、依赖注入、面向切面也都逐渐融入,这无疑是受到了Spring
成功的启发。 - 在被模仿的同时,
Spring
并没有停下脚步。它继续在其它领域不断发展:移动开发,社交API集成、安全管理、NoSQL
数据库、云计算和大数据等等都是它正在涉足和创新的领域,其前景更加广阔,甚至已经形成与传统的JavaEE
平台分庭抗礼之势。 - 但是随着
Spring
发展的越来越火,Spring
也慢慢从一个小而精的框架变成了,一个覆盖面广大而全的框架,另一方面随着新技术的发展,让Spring
逐渐看着笨重起来,大量繁琐的XML
配置和第三方整合配置,让Spring
使用者痛苦不已,这个时候急需一个解决方案,来解决这些问题。 - 就在这个节骨眼上
Spring Boot
应运而生,2013年Spring Boot
开始研发,2014年4月Spring Boot
1.0正式发布,Spring Boot
诞生之初就受到业界的广泛关注,很多个人和企业陆续开始尝试,随着Spring Boot
2.0的发布,又一次把Spring Boot
推向了公众的视野,也有越来越多了的中大型企业把Spring Boot
使用到正式的生产环境了。
Spring Boot项目结构
我们再来看下Spring Boot
项目的目录结构。
可以将Spring Boot
项目大致分为3部分,第一部分就是java
目录下的代码,第二部分是resources
目录下的资源文件,其中包括我们最重要的application.yml
配置。通过这个文件,真正让我们告别在spring
中铺天盖地的各种配置。第三部分就是我们的pom.xml
文件,这里我们整个需要的所有依赖。其中我们的pom
文件都会有这样一段代码,表明该项目是基于spring
boot构建的。
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
总结
我们再来看看Spring Boot
框架的名字。Spring
当然指的是Spring
框架,boot
,意思是启动,所以,spring boot
其实就是一个启动spring
项目的一个工具而已。从最根本上来讲,Spring Boot
就是一些库的集合,它能够被任意项目的构建系统所使用。与此同时,Spring Boot
给我们带来了极大的便利,它让我们的开发、测试、配置和监控变得更加简单,