装修设计图免费,网站推广与优化方案,wordpress利于seo,韩国小游戏网站Springboot 自动化装配的原理
SpringBoot 主要作用为#xff1a;起步依赖、自动装配。而为了实现这种功能#xff0c;SpringBoot 底层主要使用了 SpringBootApplication 注解。
首先#xff0c;SpringBootApplication 是一个复合注解#xff0c;它结合了 Configuration、…Springboot 自动化装配的原理
SpringBoot 主要作用为起步依赖、自动装配。而为了实现这种功能SpringBoot 底层主要使用了 SpringBootApplication 注解。
首先SpringBootApplication 是一个复合注解它结合了 Configuration、EnableAutoConfiguration 和 ComponentScan 三个注解的功能。这个注解通常被用在主启动类上用于开启 SpringBoot 的自动配置和组件扫描。
Configuration表示 SpringBootApplication 即为引导类同样也为配置类ComponentScan让 SpringBoot 自动扫描当前包及其子包中的 Component、Repository、Service、Controller 等能识别的注解的类并将它们注册为 Bean。EnableAutoConfiguration自动装配的核心注解底层是一个 Import 注解会导入一个 AutoConfigurationImportSelector 这个配置类会自动执行 selectImports 方法最终会去调用 SpringFactoriesLoader.loadFactoryNames 方法去扫描 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件中所有信息加载进内存封装成一个数组最后会根据各种条件起步依赖、Conditional 相关注解进行过滤找到匹配条件的全类名并封装成字符串数组到内存中。再调用 run 方法时通过反射创建对象并交给 Spring 容器管理。