Spring Boot 自动装配的原理!!!

@SpringBootApplication

@SpringBootConfiguration:标识启动类是一个IOC容器的配置类

@EnableAutoConfiguration:

@AutoConfigurationPackage:扫描启动类所在包及子包中所有的组件,生成实体bean并交给IOC容器管理

@Import({AutoConfigurationImportSelector.class}):会加载META-INF/spring.factories文件,并调用该文件中的自动配置类完成自动配置工作, 所以我们只需再application.yml中提供mysql的url、用户名、密码等信息即可完成mybatis的自动配置

@ComponentScan:配置springboot要扫描的包

完整描述:首先我们的启动类上有一个@SpringBootApplication注解,这个注解是一个复合注解。它主要包含三个注解:

第一个**@SpringBootConfiguration**标识启动类是一个IOC容器的一个配置类;

第二个**@EnableAutoConfiguration**这个注又包含两个注解:

1、@AutoConfigurationPackage这个注解主要是扫描启动类所在的包及其子包中的所有组件,生成实体Bean交给IOC容器管理。

2、@Import({AutoConfigurangionImportSelector.class})这个注解中的类SpringFactoriesLoader会加载META-INF/spring.factories文件,并调用该文件中的自动配置类完成自动配置工作。例如:所以我们只需在application.yml中提供mysql的url、用户名、密码等信息即可完成mybatis的自动配置。

第三个**@ComponentScan**主要是配置spring boot要扫描的包。

源码解释:

相关推荐
m0_5719575834 分钟前
Java | Leetcode Java题解之第543题二叉树的直径
java·leetcode·题解
魔道不误砍柴功3 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
NiNg_1_2343 小时前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
闲晨3 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
种树人202408193 小时前
如何在 Spring Boot 中启用定时任务
spring boot
Chrikk4 小时前
Go-性能调优实战案例
开发语言·后端·golang
幼儿园老大*4 小时前
Go的环境搭建以及GoLand安装教程
开发语言·经验分享·后端·golang·go
canyuemanyue4 小时前
go语言连续监控事件并回调处理
开发语言·后端·golang
杜杜的man4 小时前
【go从零单排】go语言中的指针
开发语言·后端·golang
测开小菜鸟4 小时前
使用python向钉钉群聊发送消息
java·python·钉钉