当前位置: 首页 > news >正文

SpringBoot自动配置原理入门级理解

简单理解

spring中,我们配置一个bean有两种方式,一种是xml标签的形式,一种是通过java类的形式。那么自动装配就是通过java类的形式来配置bean。
不同的是,springboot将这些我们需要的bean提前配置好了以java类的形式存放在META-INF目录下的spring.factories里面,springboot通过启动类的注解@SpringBootApplication扫描这些java类,将里面的@configuration里面的这些bean注册到IOC容器里面,就完成了自动配置。

自动配置核心

启动类注解@SpringBootApplication里面包含了三个重要的注解

  • @SpringBootConfiguration,让springboot知道这是一个配置类,将进行对应的处理,比如将里面的bean注册到容器中
  • @ComponentScan,这是一个spring的注解,它定义扫描包路径往往是写死的,通过自动配置包注册器,可以动态的添加扫描路径
  • @EnableAutoConfiguration包含了两个注解
    • @AutoConfigurationPackage导入了一个自动配置包注册器,实现了两个功能
      1. 扫描主启动类极其子包下的注解,比如@Compent@Service等,这些注解被它扫描到才能生效才能被注册进容器
      2. 有时候我们需要自定义一些配置会写一些@Configuration的类这些类被它扫描注册进容器是为了配合@Import AutoConfigurationImportSelector.class和springboot中的选择机制使用的,注册了我们的这些自定义的配置类,那么自动配合的类就不会被注册
    • @Import AutoConfigurationImportSelector.class导入了一个自动配置选择器,当我们通过maven导入了依赖的时候,jar包中的META-INF/spring.factories路径下会存在自动配置类,选择器就是通过某种条件判断是否需要导入这个路径下的自动配置类
http://www.lryc.cn/news/105515.html

相关文章:

  • 2023 08.02 小记与展望
  • MaxPatrol SIEM 增加了一套检测供应链攻击的专业技术
  • 蓝桥杯上岸每日N题 第六期(求阶乘)!!!
  • Codeforces Round 889 (Div. 2)(视频讲解A——D)
  • K8s安全配置:CIS基准与kube-bench工具
  • linux安装python和部署Django项目
  • 00-Hadoop入门
  • SE-Net注意力机制详解
  • 商城免费搭建之java商城 开源java电子商务Spring Cloud+Spring Boot+mybatis+MQ+VR全景+b2b2c bbc
  • 推理加速 --- torch.compile
  • JS-----数据结构与算法(2)
  • 手把手安装TomCat;并部署JPress
  • tensorflow1.13分布式训练 参考资料 -教程原理
  • DP学习第五篇之礼物的最大价值
  • cURL error 1: Protocol “https“ not supported or disabled in libcurl
  • XCode升级后QT无法编译的问题
  • springboot编写mp4视频播放接口
  • 华为OD机试真题 JavaScript 实现【机器人活动区域】【2023Q1 200分】,附详细解题思路
  • C++中的静态分配和动态分配
  • 【Android常见问题(五)】- Flutter项目性能优化
  • JSON转换:实体类和JSONObject互转,List和JSONArray互转(fastjson版)
  • Java单例模式几种代码详解
  • PHP代码审计--理论
  • 在云服务器上,clone github时报Connection timed outexit code: 128
  • 小型双轮差速底盘寻迹功能的实现
  • 第七篇:k8s集群使用helm3安装Prometheus Operator
  • Chrome 75不支持保存成mhtml的解决方法
  • 工程监测振弦采集仪应用于岩土工程监测案例
  • 配置HDFS单机版,打造数据存储的强大解决方案
  • U盘删除的文件怎么找回?4个简单方法分享!