当前位置: 首页 > news >正文

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 探索 Go 语言的 json 库
  • 1Panel应用推荐:KubePi开源Kubernetes管理面板
  • 【运维项目经历|040】高可用Web服务平台:LVS+Apache集群+NFS共享存储系统
  • C 循环
  • GNU/Linux - memtool使用
  • 【YOLOV8】YOLOV8模型训练train及参数详解
  • 12322222222
  • 零基础5分钟上手亚马逊云科技AWS核心云架构知识-用S3桶托管静态网页
  • 2940 找到Alice和Bob可以相遇的建筑 (944/951)超时
  • Delphi 利用LiveBindings绑定JSON数据到列表控件
  • [CSS]一文掌握
  • 快速学会SpringBoot图形验证码生成:一步步教你打造安全验证
  • 参会记录|2024 中国多媒体大会
  • leetcode-vector
  • django如何更新数据库字段并与数据库保持同步?
  • [deviceone开发]-do_Webview的基本示例
  • golang 发送GET和POST示例
  • JavaScript中的对象个人分享
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • mysql 5.6 原生Online DDL解析
  • Redis 懒删除(lazy free)简史
  • Swift 中的尾递归和蹦床
  • Vim 折腾记
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 半理解系列--Promise的进化史
  • 从输入URL到页面加载发生了什么
  • 搭建gitbook 和 访问权限认证
  • 聊聊sentinel的DegradeSlot
  • 小程序测试方案初探
  • 移动端唤起键盘时取消position:fixed定位
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • 第二十章:异步和文件I/O.(二十三)
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ### RabbitMQ五种工作模式:
  • (12)Hive调优——count distinct去重优化
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (Note)C++中的继承方式
  • (八十八)VFL语言初步 - 实现布局
  • (二)hibernate配置管理
  • (二十四)Flask之flask-session组件
  • (含笔试题)深度解析数据在内存中的存储
  • (六)vue-router+UI组件库
  • (每日一问)基础知识:堆与栈的区别
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (算法)区间调度问题
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (已解决)什么是vue导航守卫
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .Net - 类的介绍