SpringBoot自动装配原理

SpringBoot自动装配原理

@SpringBootApplication

中包含了三个核心注解

@SpringBootConfiguration

声明当前的类是配置类

@ComponentScan

组件扫描,默认扫描引导类所在包以及子包

@EnableAutoConfiguration

实现SpringBoot自动化配置的核心注解

@EnableAutoConfiguration

包含一个核心注解

@Import(AutoConfigurationImportSelector.class)

将这个类注入到Spring容器中

AutoConfigurationImportSelector.class:自动配置选择器

将meta-inf/spring.factories中的配置类加载进容器

在这些配置类中一般有这些核心注解

@Configuration()标明自己是配置类

@ConditionOnClass(xxx.class)在有对应字节码文件时才会加载

在配置类中通过添加了@Bean的方法

方法上可以通过@ConditionOnMissingBean(name = beanname)设置只有环境中没有对应的bean才会加载

将方法的返回值作为bean注入到容器中

相关推荐
四谎真好看8 分钟前
Java 学习笔记(进阶篇2)
java·笔记·学习
上官浩仁21 分钟前
springboot ioc 控制反转入门与实战
java·spring boot·spring
叫我阿柒啊1 小时前
从Java全栈到前端框架:一位程序员的实战之路
java·spring boot·微服务·消息队列·vue3·前端开发·后端开发
mqiqe1 小时前
架构-亿级流量性能调优实践
java·架构
中国胖子风清扬1 小时前
Rust 序列化技术全解析:从基础到实战
开发语言·c++·spring boot·vscode·后端·中间件·rust
野犬寒鸦2 小时前
力扣hot100:旋转图像(48)(详细图解以及核心思路剖析)
java·数据结构·后端·算法·leetcode
七夜zippoe2 小时前
AI+Java 守护你的钱袋子!金融领域的智能风控与极速交易
java·人工智能·金融
岁忧2 小时前
(LeetCode 面试经典 150 题) 200. 岛屿数量(深度优先搜索dfs || 广度优先搜索bfs)
java·c++·leetcode·面试·go·深度优先
liliangcsdn3 小时前
结合prompt分析NodeRAG的build过程
java·服务器·人工智能·数据分析·知识图谱
黑色的山岗在沉睡3 小时前
LeetCode 189. 轮转数组
java·算法·leetcode