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注入到容器中

相关推荐
pingzhuyan1 分钟前
微服务: springboot整合kafka实现消息的简单收发(上)
spring boot·微服务·kafka
武子康2 分钟前
Java-199 JMS Queue/Topic 集群下如何避免重复消费:ActiveMQ 虚拟主题与交付语义梳理
java·分布式·消息队列·rabbitmq·activemq·mq·java-activemq
LSL666_8 分钟前
12 MyBatis的连接池
java·服务器·mybatis
Arva .10 分钟前
说说线程的生命周期和状态
java·开发语言
tryxr18 分钟前
HashTable、HashMap、ConcurrentHashMap 之间的区别
java·开发语言·hash
无事好时节23 分钟前
Linux 线程
java·开发语言·rpc
我家领养了个白胖胖27 分钟前
Prompt、格式化输出、持久化ChatMemory
java·后端·ai编程
sszdlbw41 分钟前
后端springboot框架入门学习--第二篇
java·spring boot·学习
阿拉斯攀登42 分钟前
MyBatis 全面解析 & Spring Boot 集成实战
java·spring boot·mybatis·持久层框架
A尘埃44 分钟前
Java业务场景(高并发+高可用+分布式)
java·开发语言·分布式