首页 > 其他分享 >SpringBoot自动配置原理

SpringBoot自动配置原理

时间:2023-05-29 13:33:21浏览次数:35  
标签:SpringBoot spring 配置 Bean 自动 EnableAutoConfiguration 注解 原理

在Spring Boot项目中的引导类上有一个注解@SpringBootApplication,这个 注解是对三个注解进行了封装,分别是: @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan 其中 @EnableAutoConfiguration 是实现自动化配置的核心注解。 该注解通过 @Import 注解导入对应的配置选择器。关键的是内部就是读取了 该项目和该项目引用的Jar包的的classpath路径下METAINF/spring.factories文件中的所配置的类的全类名。 在这些配置类中所定义的Bean会根据条件注解所指定的条件来决定是否需要 将其导入到Spring容器中。 一般条件判断会有像 @ConditionalOnClass 这样的注解,判断是否有对应的 class文件,如果有则加载该类,把这个配置类的所有的Bean放入spring容器 中使用。

标签:SpringBoot,spring,配置,Bean,自动,EnableAutoConfiguration,注解,原理
From: https://www.cnblogs.com/yhb-blogs/p/17440178.html

相关文章

  • CSS文本框输入法自动切换
    <html><inputid="test1"name="test1"style="ime-mode:disabled"></input><inputid="test2"name="test2"style="ime-mode:active"></input><inputid="test3&......
  • 转载:Servlet 工作原理解析
     Servlet工作原理解析 Web技术成为当今主流的互联网Web应用技术之一,而Servlet是JavaWeb技术的核心基础。因而掌握Servlet的工作原理是成为一名合格的JavaWeb技术开发人员的基本要求。本文将带你认识JavaWeb技术是如何基于Servlet工作,你将知道:以Tomcat为例......
  • ArrayList的实现原理
    一、 ArrayList概述:  ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。   ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(Listl)函数返回一个线程安全的ArrayList......
  • 如何设计一个自动化测试平台
    之前写过很多自动化测试相关的文章,后台有同学留言:希望写一篇自动化测试平台的文章。他的原话是这样:目前市场上开源或者商业的自动化测试平台很多,但试用下来总感觉有些地方不太融洽,想自己落地一个适合自己团队和项目的自动化测试平台。这种想法在我看来很正常,商业平台要考虑普适......
  • Java 内存模型及GC原理
    一个优秀Java程序员,必须了解Java内存模型、GC工作原理,以及如何优化GC的性能、与GC进行有限的交互,有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率,才能提高整个应用程序的性能。本文将从JVM内存模型、GC工作原理,以及GC的几个关键问题进行探讨,从G......
  • HashSet的实现原理
    1.HashSet概述:HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。HashSet中不允许有重复元素,这是因为HashSet是基于HashMap实现的,HashSet中的元素都存放在HashMap的key上面,而value中的值都......
  • idea新文件怎么自动生成用户名
    在创建java类后,自动生成定制的注释:设置过程点击File->Settings->Editor->FileandCodeTemplates在FileHeader中输入想要设置的信息如:/**文件名:${NAME}*创建者:yourname*创建时间:${DATE}${TIME}*描述:这是一个示例*/当然也可以参考下方的Description选择......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-1-环境准备与搭建
    1.简介有很多人私信留言宏哥问能不能介绍一下Playwright这款自动化神器的相关知识,现在网上的资料太少了。其实在各大博客和公众号也看到过其相关的介绍和讲解。要不就是不全面、不系统,要不就是系统全面但是人家是收费的。当然了宏哥接下来也可能介绍的不全面或者不系统,能力有限望......
  • 计算机组成原理之输入输出系统
    输入输出的一般操作:输入输出就是CPU将地址放在地址总线上,选择外设,之后如果是输入,则等候输入设备把数据放上去,然后去数据总线上读,如果是输出,则把数据放到数据总线上,设备把数据拿走。由于,我们需要确定数据有效才能进行之后的操作,那么怎么确定数据有效呢?对外围设备进行定时,首先就......
  • rabbitmq自动及手动ACK
      mq的ack  主要是确认消息被消费者消费完成后通知服务器将队列里面的消息清除。而如果不配置Ack的话呢,我测试过他会自动的忽略,也就是说此时的服务是no_ack=true的模式,就是说只要我发现你是消费了这个数据,至于异常不异常的,我不管了。通知Ack机制就是这么来的,更加灵活的,我们需要......