自学内容网 自学内容网

SpringBoot3自动配置(持续更新)

  • 博客主页:音符犹如代码
  • 系列专栏:JavaWeb
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

自动配置

在SpringBoot中,自动配置是一个核心的特性,在我们将SpringBoot的starter添加到自己的项目时,SpringBoot会自动配置starter所需的核心组件,会自动配置一些Servlet和Filter等

默认包的扫描规则

@SpringBootApplication:这是SpringBoot的主程序的注解,它包含了@SpringBootConfiguration这是一个配置类,@EnableAutoConfiguration开启自动配置,@ComponentScan自动扫描

扫描路径:默认情况下,SpringBoot会扫描主程序类所在的包及其子包,我们也可以通过@SpringBootAppliation(scanBasePackages="")或@ComponentScan("")来指定扫描路径

自动配置的完整流程:

1.导入starter:比如spring-boot-starter-web,它导入了Web开发所需的所有依赖

2.引入autoconfigure包:spring-boot-starter引入spring-boot-autoconfigure包,此包包含了场景的自动配置类

3.自动配置生效:

  1. @EnableAutoConfiguration注解通过@Import(AutoConfigurationImportSelector.class)批量导入自动配置类。
  2. Spring Boot默认会加载一定数量的自动配置类(如142个),这些类通过META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件指定。自动配置类我们可以通过条件注解来控制,获取自己所需要的

总结:

  • 导入starter,间接引入autoconfigure包。
  • autoconfigure包中的文件指定了要加载的自动配置类。
  • @EnableAutoConfiguration注解通过@Import批量导入这些自动配置类。
  • 自动配置类根据条件注解按需加载,并向容器中添加组件。
  • 组件的核心参数来自于与配置文件绑定的属性类。


原文地址:https://blog.csdn.net/Rangsh/article/details/142481361

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!