首页 > 其他分享 >Springboot自动配置的原理剖析

Springboot自动配置的原理剖析

时间:2024-06-12 12:31:14浏览次数:11  
标签:Springboot 方式 配置 剖析 注解 原理 Import 加载

@SpringBootApplication注解分析

1、我们都知道Springboot的启动入口来自这个注解@SpringBootApplication,里面详细如下图

2、再进一步细化如下图,那么应该是使用哪种方式来加载Springboot的自动配置类呢

直接上结论,Springboot的自动配置实现方式是通过@Import注解实现的,

首先排查@ComponentScan,因为使用它很不方便,开发人员需要记住每个第三方jar包中的package名称,然后把它们写入到应用程序中,这不符合开箱即用要求

@Import方式分析

import直接 来自Spring框架的一个注解,它的作用是提供了一种显示地从其他地方加载配置类的方式,这样可以避免使用性能较差的组件扫描(Component Scan)

Springboot加载配置类采用Import方式,Import其实支持三种方式

1、导入普通类

@Import(A.class)
public class B{
}

2、导入选择器

标签:Springboot,方式,配置,剖析,注解,原理,Import,加载
From: https://blog.csdn.net/kuanghonggui/article/details/139593874

相关文章

  • 京准电钟 | NTP网络时间同步协议原理及其应用介绍
    京准电钟|NTP网络时间同步协议原理及其应用介绍京准电钟|NTP网络时间同步协议原理及其应用介绍京准电子科技官微——ahjzsz摘要:首先对计算机网络时间同步相关技术进行了介绍,然后阐述了时间同步技术在现代计算机网络中的应用与发展,最后指出时间同步网络在下一代网络(N......
  • springboot异常解决
    问题解决问题解释Resolved[org.springframework.http.converter.HttpMessageNotWritableException:Noconverterfor[classcom.test.entity.User]withpresetContent-Type'null']”出现这个问题表明spring在尝试将user对象序列化为http响应时,找不到适当的消息转化器。......
  • JavaWeb开发基础 (5) :后端框架进阶(事务管理、AOP、Spring原理、Maven高级)
    JavaWeb开发基础:后端框架进阶——事务管理、AOP、Spring原理、Maven高级文章目录1事务管理1.1Spring事务管理1.2rollbackFor和propagation2AOP2.1AOP快速入门2.2核心概念2.3通知类型2.4通知顺序2.5切入点表达式[email protected]连接点案......
  • springboot打包将配置文件和jar分开
    <?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0......
  • 第6篇:Milvus检索算法详解:从原理到应用
    欢迎来到Milvus检索算法的世界!在本文,我将带你深入了解Milvus的向量相似度计算和常用的检索算法。通过这篇博客,你将了解Milvus是如何高效计算向量相似度并进行向量检索的。准备好了吗?让我们开始这段知识之旅吧!文章目录Milvus的向量相似度计算向量相似度计算的原理......
  • glibc函数malloc的工作原理
    glibc提供了malloc函数来动态分配内存,我们只知道调用malloc会返回给我们一个指针,指向一块内存空间或NULL,那么malloc的工作原理是什么呢?概述:1.小于128kB的空间,使用内存池(在堆上)或brk或sbrk系统调用在堆上分配2.大于128kB的空间,使用mmap在文件映射区分配+----------------......
  • 大模型高效微调-LoRA原理详解和训练过程深入分析
    博客首发于我的知乎,详见:https://zhuanlan.zhihu.com/p/702629428一、LoRA原理LoRA(Low-RankAdaptationofLLMs),即LLMs的低秩适应,是参数高效微调最常用的方法。LoRA的本质就是用更少的训练参数来近似LLM全参数微调所得的增量参数,从而达到使用更少显存占用的高效微调。1.1问......
  • 【机器学习】Qwen2大模型原理、训练及推理部署实战
    目录​​​​​​​一、引言二、模型简介2.1Qwen2 模型概述2.2Qwen2 模型架构三、训练与推理3.1Qwen2 模型训练3.2Qwen2 模型推理四、总结一、引言刚刚写完【机器学习】Qwen1.5-14B-Chat大模型训练与推理实战 ,阿里Qwen就推出了Qwen2,相较于Qwen1.5中0.5B......
  • SpringBoot内置数据源
    回顾:在我们之前学习在配置文件当中配置对应的数据源的时候,我们设置的数据源其实都是Druid的数据源,并且其配置有两种方式,当然这两种方式都需要我们导入对应的有关德鲁伊的依赖才行一种是直接在开始设置为druid数据源类型的一种是在对应的正常的数据库配置下,设置......
  • C语言中关于Base64编码的基础原理
    Base64编码简述:1.Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。2.Base64,就是包括小写字母a-z、大写字母A-Z、数字0-9、符号"+"、"/"一共64个字符的字符集,(任何符号都可以转换成这个字符集中的字符,这个转换过......