java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > springBoot自动配置

springBoot自动配置的全过程

作者:amcomputer

这篇文章主要介绍了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

3 values是配置类

4 去重

5 classLoader加载类

找到自动配置类名字

6 过滤无关的配置类

先看依赖,看pom里面是否有,然后再看是否有关键类。

有135个配置类,无关配置类很多,

通过spring-autoconfigure-metadata.propertes文件

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

其他

springBoot3.0后,使用了gravVM技术,在编译时候就开始把bean扫描出来。

后面启动时候直接注册加载bean,不需要再进行扫描

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文