写点什么

spring.factories 文件作用详解,@SpringBootApplication 启动过程与其关联

作者:javaNice
  • 2023-11-20
    四川
  • 本文字数:679 字

    阅读完需:约 2 分钟

🔊spring.factories 文件作用详解,@SpringBootApplication 启动过程与其关联


在 maven 中引用的其他外部包加入容器的过程,需要用到 spring.factories


spring.factories 是用于 springboot 在自动装配过程中,通过扫描所有 jar 包和 classpath 下的 spring.factories 文件去加载 bean;文件格式为键值对,键是自动配置类的固定名称,值为配置文件全路径


@SpringBootApplication 启动过程与 spring.factories 关联

@SpringBootApplication 为一个组合注解,通过 @EnableAutoConfiguration 开启自动装配



点进 @EnableAutoConfiguration 发现其中有一个 @Import 注解



里面写了 AutoConfigurationImportSelector, springboot 项目启动时, 会调用它里面一个方法 loadFactoryNames, 这个方法会扫描 pom 文件中引入的其他 starter 中的 spring.factories 文件, 具体的调用路径为:

📝1.selectImports

📜 2.getAutoConfigurationEntry

📘3.getCandidateConfigurations

📖4.SpringFactoriesLoader.loadFactoryNames(this.

getSpringFactoriesLoaderFactoryClass(), this.getBeanClassLoader())

📅5.loadFactoryNames

🍁6.loadSpringFactories





最后调用 loadFactoryNames( )方法,这个方法的会扫描 pom 文件中引入的其他 starter 中的 spring.factories 文件。


spring.factories 文件内容示例如下:


org.springframework.boot.autoconfigure.EnableAutoConfiguration=\  com.baomidou.mybatisplus.autoconfigure.MybatisPlusLanguageDriverAutoConfiguration,\  com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration
复制代码

🖊️最后总结

🖲要熟练掌握技巧,一定多多坚持练习:骐骥一跃,不能十步;驽马十驾,功在不舍



发布于: 刚刚阅读数: 5
用户头像

javaNice

关注

还未添加个人签名 2023-11-02 加入

还未添加个人简介

评论

发布
暂无评论
spring.factories文件作用详解,@SpringBootApplication启动过程与其关联_Java_javaNice_InfoQ写作社区