SpringBoot自动配置

本文详细介绍了SpringBoot如何自动配置Tomcat、SpringMVC以及Web开发的常见功能,包括默认的包结构和配置项。通过引入starter-web,SpringBoot自动配置了Web场景,免去了手动配置前端控制器、视图解析器等步骤。同时,它还提供了默认配置值,并允许按需加载自动配置项。
摘要由CSDN通过智能技术生成

前言

通过编写咱们的第一个Spring Boot的Hello World入门小程序,我们深刻体会到了Spring Boot帮我们自动配好了好多东西,例如帮我们自动配好了Tomcat开发场景。

自动配好Tomcat场景

不管Spring Boot帮我们自动配好了什么东西,我们都得做这样两步,第一步是如果你想要自动配好Tomcat开发场景,那么你就得必须先引入Tomcat开发场景的依赖了,我们也知道,前面我们在引入Web开发场景时,其实就已经将Tomcat开发场景spring-boot-starter-tomcat自动引入了。第二步是自动配置好Tomcat。

自动配好SpringMVC

同样也引入了SpringMVC, starter-web场景中包含除了tomcat场景,也引入了Spring,SpringMVC。自动配好了SpringMVC常用功能(组件),以前我们写一个SpringMvc项目, 要配置好多东西,整合Ssring和SpringMVC。比如前端控制器, 视图解析器, 字符编码等... SpringBoot会帮我们自配置好这些

自动配置好Web常用功能

SpringBoot帮我们配置好了所有的Web开发常见问题的场景,比如前端控制器,视图解析器,文件上传的组件, 还有字符编码组件等等,下面是从容器中打印自动注入的组件:

 配置好了默认的包结构

  • 主程序所在包及其下面的所有子包里面的组件都会被默认扫描进来无需以前的包扫描配置
  • 想要改变扫描路径,@SpringBootApplication(scanBasePackages="com.Junqiang")或者@ComponentScan 指定扫描路径 
@SpringBootApplication
等同于
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan("com.junqiang.boot")

各种配置拥有默认值

  • 默认配置最终都是映射到某个类上,如:MultipartProperties
  • 配置文件的值最终会绑定每个类上,这个类会在容器中创建对象 ,值就是跟配置文件绑定的,Springboot底层会拿到这个类的对象获取到默认值。

按需加载所有自动配置项

  • 非常多的starter
  • 引入了哪些场景这个场景的自动配置才会开启
 <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
 </dependency>
  • SpringBoot所有的自动配置功能都在 spring-boot-autoconfigure 包里面
    • 进入spring-boot-starter-web再进入spring-boot-starter可以看到里面有这个依赖
 <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-autoconfigure</artifactId>
      <version>2.5.5</version>
      <scope>compile</scope>
    </dependency>

这就是Springboot的全部场景的自动配置

 这里的这些autoconfigure自动配置并不会全部都生效,有的类里面会发红, 我们在pom文件中导入相关的场景依赖就会生效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值