Springboot 自动化装配的原理
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 容器管理。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律