其他分享
首页 > 其他分享> > SpringBoot学习笔记(四)——SpringBoot中的自动配置

SpringBoot学习笔记(四)——SpringBoot中的自动配置

作者:互联网

总结:我们之前讲了SpringBoot对bean的配置,但是我们之前在学习SSM框架时,还需要在配置文件中配置很多其它的类及功能。例如SpringMVC中的DispatchServlet来拦截所有请求这种在springboot中就没有要求我们手动配置。而我们的springmvc项目依然可以接收请求的原因就在于上面提到的@EnableAutoConfiguration注解,它能够做到自动配置。

  Spring Boot⾃动配置会根据项⽬中所添加的依赖进⾏⾃动配置,⽐如我们项⽬中添加了
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
</dependency>

而这个依赖中间接添加了

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
      <version>3.0.0-M1</version>
      <scope>compile</scope>
    </dependency> 
 <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
      <version>3.0.0-M1</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>6.0.0-M2</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>6.0.0-M2</version>
      <scope>compile</scope>
    </dependency>

 

我们知道,我们在搭建Spring MVC⼯程时,除开要假如spring-web,spring-webmvc等依赖包之外,最复杂的就是还要进⾏很多额外的配置。那在Spring Boot中,这些配置在哪呢? 注意,在我们项⽬中引⼊的spring-boot-starter-web中,引⼊了spring-boot-starter,⽽这个⾥⾯⼜引⼊了spring-boot-autoconfigure,在spring-boot-autoconfigure依赖中存在⼀个⽂件spring.factories,这个⽂件中记录了各种各样的*****AutoConfiguration类,这些⾃动配置类(其实就是配置类)就是⽤来进⾏⾃动配置的。

 

那这个spring.factories⽂件中所记录的⾃动配置类,是什么时候⽣效的呢,这就是@EnableAutoConfiguration注解的作⽤,只有加了这个注解,那这些⾃动配置类才会⽣效,因为@EnableAutoConfiguration注解会去寻找spring.factories⽂件,并解析内容,所以能解析出来⾃动配置类,并进⼀步对配置类进⾏解析。 ⽐如在spring.factories⽂件中存在⼀个DispatcherServletAutoConfiguration,很明显是⽤来对DispatcherServlet进⾏⾃动配置的,具体的细节,我们暂时就不深⼊了,本节课只需⼤体理解⾃动配置 的作⽤。 ⾃动配置并不是去帮助我们配置扫描路径之类的,⽽是针对各种各样的场景,Spring Boot已经给我们配置好了本来是我们需要配置的⼀些Bean以及⼀些参数。

 

 

 

标签:SpringBoot,spring,配置,boot,笔记,自动,springframework,org,starter
来源: https://www.cnblogs.com/worthmove/p/16690899.html