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要扫描的包。

源码解释:

相关推荐
JosieBook1 小时前
【SpringBoot】31 核心功能 - 单元测试 - JUnit5 单元测试中的断言机制——验证你的代码是否按预期执行了
spring boot·单元测试·log4j
脸大是真的好~1 小时前
黑马JAVAWeb-01 Maven依赖管理-生命周期-单元测试
java·maven
zhangkaixuan4562 小时前
Apache Paimon 查询全流程深度分析
java·apache·paimon
cici158743 小时前
MyBatis注解的运用于条件搜索实践
java·tomcat·mybatis
wangqiaowq3 小时前
StarRocks安装部署测试
java·开发语言
计算机学姐3 小时前
基于SpringBoot的高校社团管理系统【协同过滤推荐算法+数据可视化】
java·vue.js·spring boot·后端·mysql·信息可视化·推荐算法
工业甲酰苯胺7 小时前
实现 json path 来评估函数式解析器的损耗
java·前端·json
老前端的功夫7 小时前
Web应用的永生之术:PWA落地与实践深度指南
java·开发语言·前端·javascript·css·node.js
@forever@7 小时前
【JAVA】LinkedList与链表
java·python·链表
程序员爱钓鱼7 小时前
Python编程实战:面向对象与进阶语法——类型注解与代码规范(PEP 8)
后端·python·ipython