Day14-05.SpringBoot原理-起步依赖
(1)Spring
Spring是目前世界上最流行的Java框架,他可以帮助我们更加快速、更加容易的来构建Java项目。而在Spring家族中,提供了很多优秀的框架,而所有的框架都是基于一个基础框架,那就是Spring framework,也就是Spring框架。前面也提到了,如果我们直接基于Spring框架进行开发,会比较繁琐,这个繁琐主要体现在两个地方:①:pom.xml当中依赖配置会比较繁琐,在项目开发时我们就需要自己去找到对应的依赖,还需要找到这个依赖他所配套的依赖以及对应的版本,否则就会出现版本冲突问题。②:我们要想使用Spring框架进行开发,就需要在Spring的配置文件当中做大量的配置,这也就造成了Spring框架入门难度大,而且学习成本也会比较高。所以基于此,Spring官方在Spring框架4.0版本之后,又退出了一个全新的框架,SpringBoot框架。通过SpringBoot来简化开发,注意是简化不是替代。而这个SpringBoot框架也是目前Spring家族中所有子项目当中最为流行的一个框架。所以Spring官方也推荐我们直接基于SpringBoot来构建Java项目,这样会让我们的项目开发更加简单,更加快捷。
而SpringBoot之所以使用起来非常简单快捷,是因为SpringBoot框架底层提供了两个非常重要的功能,这两个功能一个是【起步依赖】,一个是【自动配置】。通过SpringBoot提供的起步依赖,就可以大大的简化pom文件中依赖的配置,就可以来解决Spring框架当中依赖配置繁琐的问题。而通过自动配置的功能,就可以大大简化框架在使用时bean的声明以及bean的配置。我们只需要引入程序开发时所需要的起步依赖,那所有项目开发时常见的配置都有了,我们直接使用就可以了。
(2)起步依赖原理
如果说我们现在没有使用SpringBoot,用的是Spring框架进行wen程序开发,此时我们就需要引入web程序开发所需要的一些依赖。比如这里我们需要引入WebMvc这个依赖,这是Spring框架进行web程序开发所需要的依赖,除了这项依赖依赖,还需要引入servlet、jackson-databind依赖等等。而如果我们使用SpringBoot,就不用再这么繁琐了,我们只需要引入一个依赖就可以了,那就是web开发的起步依赖spring-boot-starter-web。如果想进行aop的开发,只需要引入一个依赖spring-boot-starter-aop就可以了。
为什么引入一个依赖,web开发的所有依赖都有了呢?
原理非常简单,就是因为maven的依赖传递。在Springboot给我们提供的这些起步依赖当中,就提供了当前程序开发所需要的所有的常见依赖,比如Spring-boot-starter-web这是web开发的起步依赖,里面就集成了所有web开发中常见的这些依赖,我们只需要引入这一个依赖,其他依赖都会自动的通过maven的依赖传递传递进来。
ven的依赖传递传递进来。