面试题:springfactories中这么多配置每次启动都要全部加载么?
在Spring Boot中,spring.factories文件用于配置自动装配的类。它包含了一系列的键值对,其中键代表一个自动装配的类(通常是一个实现了某个接口或者注解的类),值代表该类所对应的自动配置类。
每次启动Spring Boot应用程序时,并不是所有的自动配置类都会被加载。实际上,只有在应用程序需要使用到某个自动配置类时,才会被加载和实例化。
当启动Spring Boot应用程序时,Spring Boot会根据classpath下的META-INF/spring.factories文件中的配置来查找自动配置类。然后,根据这些自动配置类的条件判断是否需要被加载和实例化。
这种机制的好处是,可以根据应用程序的需要,只加载必要的自动配置类,避免资源的浪费。同时,Spring Boot还提供了一些机制,可以通过配置来控制自动配置类的加载行为,例如通过配置spring.autoconfigure.exclude来排除某些自动配置类的加载。
总结来说,spring.factories中的配置并不是每次启动都会全部加载,只有在应用程序需要使用到某个自动配置类时,才会被加载和实例化。这样可以提高应用程序的启动性能,并且可以根据需要进行灵活的配置
原文地址: https://www.cveoy.top/t/topic/iApZ 著作权归作者所有。请勿转载和采集!