Spring Boot 自动装配的原理!!!

news2025/2/27 7:22:42

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

源码解释:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1504665.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言字符串型常量

在C语言中,字符串型常量是由一系列字符组成的常量。字符串常量在C中以双引号(")括起来,例如:“Hello, World!”。字符串常量在C中是不可变的,也就是说,一旦定义,就不能修改其内…

Qt学习-22 <QTreeWidget QTreeView>

—均为学习笔记,如有错误请指出 一、QTreeWidget 1. 样式展示: ① ② 2. 样式代码: ① //treeWidget树控件的使用//设置水平头//QStringList() 创建匿名对象,省略起名的操作ui->treeWidget->setHeaderLabels(QString…

Data Concerns Modeling Concerns

How was the data you are using collected? What assumptions is your model making by learning from this dataset? Is this dataset representative enough to produce a useful model? How could the results of your work be misused? What is the intended use and …

java数据结构与算法刷题-----LeetCode77. 组合

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 文章目录 1. 递归实现 解题思路 这种题只能暴力求解,枚举所有可…

【OD】算法二

开源项目热度榜单 某个开源社区希望将最近热度比较高的开源项目出一个榜单,推荐给社区里面的开发者。对于每个开源项目,开发者可以进行关注(watch)、收藏(star)、fork、提issue、提交合并请求(MR)等。 数据库里面统计了每个开源项目关注、收藏、fork、…

Linux的进程调度实现

经常被问到进程的调度算法有哪些,什么先进先出、短进程优先、时间片轮转、多级反馈多列等等算法能说一大堆?那具体的,linux内核使用了什么样的算法,且来探究一下。 本文所引用源码基于linux内核2.6.34版本。 目录 调度器类 从 s…

[Java安全入门]三.CC1链

1.前言 Apache Commons Collections是一个扩展了Java标准库里的Collection结构的第三方基础库,它提供了很多强大的数据结构类型和实现了各种集合工具类。Commons Collections触发反序列化漏洞构造的链叫做cc链,构造方式多种,这里先学习cc1链…

C#,数值计算,解微分方程的龙格-库塔二阶方法与源代码

1 微分方程 含有导数或微分的方程称为微分方程,未知函数为一元函数的微分方程称为常微分方程。 微分方程的阶数 微分方程中导数或微分的最高阶数称为微分方程的阶数。 微分方程的解 使得微分方程成立的函数称为微分方程的解。 微分方程的特解 微分方程的不含任意…

SQLite3中的callback回调函数注意的细节

调用 sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void *data, char **errmsg)该例程提供了一个执行 SQL 命令的快捷方式, SQL 命令由 sql 参数提供,可以由多个 SQL 命令组成。 在这里, 第一个参数 sqlite3 是打开的数据库对…

Windows下同一电脑配置多个Git公钥访问不同的账号

前言 产生这个问题的原因是我在Gitee码云上有两个账号,为了方便每次不用使用http模式推拉代码,于是我就使用了ssh的模式,起初呢我用两台电脑分别连接两个账号,用起来也相安无事,近段时时间台式机在家里,我在外地出差了,就想着把ssh公钥同时添加到不同的账号里,结果却发现不能用…

芯片顶级盛会Hotchips2019年-AI的崛起之年-未来芯片论坛及资料下载

提示:下载链接在文章最后。 是什么? HOTCHIPS是一个关于计算机体系结构和电子设计的会议,主要探讨芯片设计、存储器、能源效率、机器学习和人工智能等方面的发展。该会议每年都会召开一次,吸引着来自世界各地的专业人士和研究人…

垃圾回收:JavaScript内存管理的利器

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

数据库中 SQL Hint 是什么?

前言 最近在调研业界其他数据库中 SQL Hint 功能的设计和实现,整体上对 Oracle、Mysql、Postgresql、 Apache Calcite 中的 SQL Hint 的设计和功能都进行了解,这里整理一篇文章来对其进行梳理,一是帮助自己未来回顾,加深自己的思…

全国月平均水汽压空间分布数据、月均降水量空间分布数据、月均太阳辐射空间分布数据、月均风速空间分布数据

我国幅员辽阔,地形复杂,位于亚欧大陆东部,太平洋西岸。气候特征为:季风气候明显,大陆性气候强,气候类型复杂多样, 水热 同期。我国降水量在空间上,东多西少,南多北少;从东…

鸿蒙培训开发:就业市场的新热点~

金三银四在即,随着春节假期结束,各行各业纷纷复工复产,2024年的春季招聘市场也迎来了火爆的局面。最近发布的《2024年春招市场行情周报(第一期)》显示,尽管整体就业市场仍处于人才饱和状态,但华…

软考高级:信息系统开发方法1(原型法、结构法等)概念和例题

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

JavaWeb基础入门——(二)MySQL数据库基础(2-SQL 结构化查询语言)

四、MySQL逻辑结构 4.1 逻辑结构 4.1 记录 五、SQL 结构化查询语言 5.1 SQL概述 SQL(Structural Query Language)结构化查询语言,用于存取、查询、更新数据以及管理关系型数据库系统 5.1.1 SQL发展 SQL是在1981年由IBM公司推出,…

Qt 拖动事件

文章目录 1 自定义控件 TextEdit2 实现打开文件功能3 实现鼠标滚轮放大字体 QEvent::DragEnter 当拖动文件进入到窗口/控件中时,触发该事件,它对应的子类是QDragEnterEvent QEvent::DragLeave 当拖动文件离开窗口/控件时,触发该事件&#xff…

20、电源管理入门之Hypervisor中的电源管理

目录 1. Hypervisor概念介绍 2. 汽车软件中的Hypervisor应用 3. QNX Hypervisor 4. Hypervisor中的多OS通信技术 5. 电源管理相关 参考: 很多时候听说Hypervisor,但是对底层软件技术不了解的人感觉挺神秘。本篇文章简单介绍下Hypervisor的基本概念,另外介绍下电影管理…

多数码管(Arduino)

图示 /*该程序的作用是演示动态扫描原理。在线文档:https://docs.geeksman.com/esp32/Arduino/08.esp32-arduino-4-digits-7segment.html */// 定义位选线引脚 int seg_1 5; int seg_2 18; int seg_3 19; int seg_4 21;// 定义位选线数组 int seg_array[4] {se…