springBoot自动配置的全过程

 更新时间:2023年09月04日 17:13:51   作者:amcomputer  
这篇文章主要介绍了springBoot自动配置的全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

什么是自动配置

以前整合spring + mybatis框架时候,需要加很多的bean,

比如说sqlSessionFactory等等现在springboot帮我们干了,

我们只需要引入对应的starter就可以了。

springBoot可以帮我们配置好了一些bean. 如mysql, mogondb相关操作等等,目前有100多个。

不需要我们一个一个的import:

单个导入效率太低了。

如何实现批量导入?

@import(AutoConfigurationImportSelector.class)

通过AutoConfigurationImportSelector.selectImports方法导入配置类集合。

当然其他jar里面也可以有配置类,不一定都会在starter里面。

需要其他jar里面主动告诉springBoot,说明是配置类:文件路径为meta-inf/spirng.factories

寻找步骤

1 jar找文件

meta-inf/spirng.factories

2 找key

3 values是配置类

4 去重

5 classLoader加载类

找到自动配置类名字

6 过滤无关的配置类

先看依赖,看pom里面是否有,然后再看是否有关键类。

有135个配置类,无关配置类很多,

通过spring-autoconfigure-metadata.propertes文件

先其他jvm, 在启动spring容器,导致速度比较慢。

其他

springBoot3.0后,使用了gravVM技术,在编译时候就开始把bean扫描出来。

后面启动时候直接注册加载bean,不需要再进行扫描

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • idea显示springboot多服务启动界面service操作

    idea显示springboot多服务启动界面service操作

    这篇文章主要介绍了idea显示springboot多服务启动界面service操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Java中static的特点

    Java中static的特点

    本文主要介绍了Java中static的特点。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • SpringBoot中@PostConstruct 注解的实现

    SpringBoot中@PostConstruct 注解的实现

    在Spring Boot框架中, @PostConstruct是一个非常有用的注解,它用于在依赖注入完成后执行初始化方法,本文将介绍 @PostConstruct的基本概念、使用场景以及提供详细的代码示例,感兴趣的可以了解一下
    2024-09-09
  • java中对象转json字符串的三种常用方式

    java中对象转json字符串的三种常用方式

    本文主要介绍了java中对象转json字符串的三种常用方式,包含Jackson库,Gson库和Hutool工具类这三种,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • Mybatis提示Tag name expected的问题及解决

    Mybatis提示Tag name expected的问题及解决

    MyBatis是一个开源的Java持久层框架,用于将Java对象与数据库表进行映射,它提供了一种简单、灵活的方式来访问数据库,同时也提供了强大的SQL映射和查询功能
    2025-01-01
  • 在SpringBoot中利用RocketMQ实现批量消息消费功能

    在SpringBoot中利用RocketMQ实现批量消息消费功能

    RocketMQ 是一款分布式消息队列,支持高吞吐、低延迟的消息传递,对于需要一次处理多条消息的场景,RocketMQ 提供了批量消费的机制,这篇文章将展示如何在 Spring Boot 中实现这一功能,感兴趣的小伙伴跟着小编一起来看看吧
    2024-11-11
  • Java截取url参数的方法

    Java截取url参数的方法

    本文给大家带来了java截取url参数,url值得方法,代码简单易懂,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-08-08
  • SpringBoot的监控及使用详解

    SpringBoot的监控及使用详解

    这篇文章主要介绍了SpringBoot的监控及使用详解,Spring Boot提供了一系列的监控功能,方便开发人员对应用程序进行监控和管理,本文将讨论 Spring Boot中的监控功能及其使用方法,需要的朋友可以参考下
    2023-07-07
  • SpringBoot通过注解监测Controller接口的代码示例

    SpringBoot通过注解监测Controller接口的代码示例

    在Spring Boot中,度量指标(Metrics)是监控和诊断应用性能与行为的重要工具,Spring Boot通过集成Micrometer和Spring Boot Actuator,提供了强大的度量指标收集与暴露功能,本文介绍了SpringBoot通过注解监测Controller接口,需要的朋友可以参考下
    2024-07-07
  • IDEA实现纯java项目并打包jar的步骤(不使用Maven,Spring)

    IDEA实现纯java项目并打包jar的步骤(不使用Maven,Spring)

    在Java开发中我们通常会将我们的项目打包成可执行的Jar包,以便于在其他环境中部署和运行,这篇文章主要介绍了IDEA实现纯java项目并打包jar(不使用Maven,Spring)的相关资料,需要的朋友可以参考下
    2025-08-08

最新评论