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

springBoot自动配置过程介绍

什么是自动配置

以前整合spring + mybatis框架时候,需要加很多的bean, 比如说sqlSessionFactory等等
现在springboot帮我们干了,我们只需要引入对应的starter就可以了。
在这里插入图片描述
在这里插入图片描述
springBoot可以帮我们配置好了一些bean. 如mysql, mogondb相关操作等等,目前有100多个。

不需要我们一个一个的import:在这里插入图片描述

单个导入效率太低了。

如何实现批量导入?

@import(AutoConfigurationImportSelector.class)
在这里插入图片描述
通过AutoConfigurationImportSelector.selectImports方法导入配置类集合。

当然其他jar里面也可以有配置类,不一定都会在starter里面。

需要其他jar里面主动告诉springBoot,说明是配置类:文件路径为meta-inf/spirng.factories
在这里插入图片描述

寻找步骤

1 jar找文件

meta-inf/spirng.factories

2 找key

在这里插入图片描述
values是配置类。
在这里插入图片描述

4 去重

在这里插入图片描述

5 classLoader加载类-找到自动配置类名字

在这里插入图片描述

6过滤无关的配置类

先看依赖,看pom里面是否有,然后再看是否有关键类。
在这里插入图片描述
在这里插入图片描述
有135个配置类,无关配置类很多,
在这里插入图片描述

通过spring-autoconfigure-metadata.propertes文件

先其他jvm, 在启动spring容器,导致速度比较慢。

其他

springBoot3.0后,使用了gravVM技术,在编译时候就开始把bean扫描出来。后面启动时候直接注册加载bean,不需要再进行扫描

http://www.lryc.cn/news/44798.html

相关文章:

  • PostgreSQL最后的救命稻草 — pg_resetwal
  • 彻底关闭Windows更新
  • Java正则表达式语法
  • 【2023-3-29】JavaScript使用promise顺序调用函数并抛出异常
  • Python实现GWO智能灰狼优化算法优化随机森林分类模型(RandomForestClassifier算法)项目实战
  • 从redis到epoll到mmap
  • STM32CubeMX快速构造工程模板(一)
  • Java Web中的ServletContext对象
  • 回归预测 | MATLAB实现PSO-RF粒子群算法优化随机森林多输入单输出回归预测
  • 在小公司工作3年,从事软件测试5年了,才发现自己还是处于“初级“水平,是不是该放弃....
  • 基于 OpenCV 与 Java 两个语言版本实现获取某一图片特定区域的颜色对比度
  • Book:实战Java高并发程序设计(第二版)
  • LeetCode 831. Masking Personal Information【字符串,正则表达式】中等
  • 递增三元组
  • java源码阅读 - TreeSet
  • 写毕业论文经验贴
  • 2.7 进程退出、孤儿进程、僵尸进程+2.8 wait函数+2.9 waitpid函数
  • 【新2023Q2模拟题JAVA】华为OD机试 - 预订酒店
  • 一个完整的渗透学习路线是怎样的?如何成为安全渗透工程师?
  • 刷完这60个标准库模块,成为Python骨灰级玩家
  • EasyExcel的简单使用(easyExcel和poi)
  • 命名空间 namespace
  • 我能“C”——初阶指针(上)
  • Android高级工程师工资为何让人艳羡不已
  • 什么猫猫最受欢迎?Python采集猫咪交易数据
  • 使用Nextcloud搭建私人云盘,并内网穿透实现公网远程访问
  • 行业盛会|2023中国(东莞)国际测量控制及仪器仪表展览会
  • redis集群 服务器重启测试
  • Diffusion的unet中用到的AttentionBlock详解
  • ElasticSearch索引文档写入和近实时搜索