重点:在项目中使用了@Indexed之后,编译打包的时候会在项目中自动生成META-INT/spring.components文件。
当Spring应用上下文执行ComponentScan扫描时,META-INT/spring.components将会被CandidateComponentsIndexLoader 读取并加载,转换为CandidateComponentsIndex对象,这样的话@ComponentScan不在扫描指定的package,而是读取CandidateComponentsIndex对象,从而达到提升性能的目的。@EnableAutoConfiguration注解实现自动配置的原理和这个一样,也是直接把需要配置和加载的类写到了一个文件中,在启动的时候读取文件找到需要自动配置的类进行配置
原文链接:https://blog.youkuaiyun.com/u010365819/article/details/119614990