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

源码解释:

相关推荐
强子感冒了6 分钟前
Java网络编程学习笔记,从网络编程三要素到TCP/UDP协议
java·网络·学习
咚为7 分钟前
Rust Print 终极指南:从底层原理到全场景实战
开发语言·后端·rust
二哈喇子!8 分钟前
SpringBoot项目右上角选择ProjectNameApplication的配置
java·spring boot
sin220124 分钟前
MyBatis的执行流程
java·开发语言·mybatis
二哈喇子!29 分钟前
基于Spring Boot框架的车库停车管理系统的设计与实现
java·spring boot·后端·计算机毕业设计
二哈喇子!30 分钟前
基于Spring Boot框架的网络游戏虚拟交易平台的设计与实现
java·springboot·毕设项目
二哈喇子!36 分钟前
JAVA环境变量配置步骤及测试(JDK的下载 & 安装 & 环境配置教程)
java·开发语言
二哈喇子!1 小时前
基于SpringBoot框架的水之森海底世界游玩系统
spring boot·旅游
二哈喇子!1 小时前
Java框架精品项目【用于个人学习】
java·spring boot·学习
二哈喇子!1 小时前
基于SpringBoot框架的网上购书系统的设计与实现
java·大数据·spring boot