springboot - spring.factories

news2025/1/15 23:22:25

spring.factories 是什么?

spring.factories 是 Spring Boot 自动配置的核心机制之一,它用于自动注册 Spring Boot 中的各种自动配置类,从而实现自动化配置的目的。在 Spring Boot 应用程序启动时,Spring Boot 会自动扫描 classpath 下的 META-INF/spring.factories 文件,并根据其中配置的 org.springframework.boot.autoconfigure.EnableAutoConfiguration 实现类自动加载对应的自动配置类。

具体来说,当我们需要自定义 Spring Boot 应用程序的自动配置时,只需要创建一个标注有 @Configuration 注解的类,再在其中定义需要自动配置的 Bean,然后将该类的全限定名添加到 META-INF/spring.factories 文件中的 org.springframework.boot.autoconfigure.EnableAutoConfiguration 配置项中,就可以实现自动配置了。

需要注意的是,如果自定义的自动配置类不在 Spring Boot 启动类所在的包或其子包下,需要将其添加到 spring.factories 文件中,否则 Spring Boot 在启动时将无法自动加载该自动配置类。
那就是这样的咯:需要的配置类与启动类不在同一包路径下
在这里插入图片描述
启动类构造方法注入:

@SpringBootApplication
public class BootAutoconfigApplication {

    public BootAutoconfigApplication(OuterConf outerConf) {
        System.out.println(outerConf);
    }

    public static void main(String[] args) {
        SpringApplication.run(BootAutoconfigApplication.class, args);
    }

}

启动:只会扫描与启动类同一目录下的bean
在这里插入图片描述
那我非要呢?
那就要用到spring.factories了
1、建文件
在这里插入图片描述
2、自定义自动配置类

# 自定义自动配置类
org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.lfsun.outerpackage.OuterConf

3、再启动:成功启动并获取到该bean
在这里插入图片描述

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

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

相关文章

如何在 VMware 中安装 Kali Linux

Kali Linux 是用于学习和练习黑客攻击和渗透测试的Linux发行版的不二之选。 而且,如果你经常捣鼓 Linux 发行版,出于好奇心,你可能已经尝试过它。 警告! 本文介绍的内容仅供学习 Kali Linux 的安装,请勿使用 Kali Lin…

【genius_platform软件平台开发】第九十七讲:常见Visual Studio版本号对应表VisualStudioVersion

1. sln文件格式 使用记事本打开.sln文件, 从一个外行角度看,VC/VS有3种版本号,具备一定的迷惑性:(xx表示具体的数字) MSVC xx(VC版本 eg. VC6.0) _MSC_VER VisualStudio xx(VS版本 eg. VS2012&#xf…

[Tool] python项目中集成使用Firebase推送功能

背景介绍 目前,App推送功能已经非常普遍,几乎所有App都有推送功能。推送功能可以自己实现,也可以使用第三方提供的推送服务(免费的收费的都有)。本文主要介绍使用Firebase提供的推送服务Firebase Cloud Messaging&…

微信小程序共享云开发环境的代码配置

微信小程序共享云开发环境的代码配置 1. 环境的分享配置2. 使用共享云开发环境的小程序代码编写2.1 初始化2.2 云函数调用 4. 拓展:共享环境的小程序获取openId4.1 小程序密钥的设置4.2 小程序内代码编写 4.3 云函数编写 小程序2022年进行了云开发付费调整&#xff…

【C++】详解二叉树进阶OJ题(更深入理解递归和非递归在二叉树的各种结构的应用)

前言: 我们在此前的初阶数据结构讲解中已经讲解了部分二叉树的OJ题,当时我们只学习了C语言,其实还有很多进阶的OJ题用C来写会比较方便和容易理解,所以本章将在讲解完二叉搜索树后来详解不同类型的二叉树进阶OJ题,校招中…

常用性能测试工具都有哪些特点?

在软件开发过程中,性能测试是不可或缺的一部分。通过性能测试,我们可以评估系统的响应速度、稳定性和容量等方面的表现,帮助我们发现和解决潜在的性能问题。而常用的性能测试工具也在不断发展和升级,成为了帮助我们完成性能测试的…

【ArcGIS Pro二次开发】(25):属性映射

属性映射经常用于属性表或Excel表的赋值,比如按用地用海表对规划用地的用地编码或用地名称赋值,将汇总好的用地指标表赋值给已经制好的Excel模板等。 下面试着在ArcGIS Pro SDK中实现功能上述这两个功能。 一、Excel表格映射到属性表Table 1、要实现的…

VMware虚拟机安装CentOS8详细教程

文章目录 一、下载安装包二、创建虚拟机1.安装 VMware2.创建虚拟机3.编辑虚拟机设置 三、系统安装1.开始安装2.时区设置3.分区设置4.配置网络6.开机密码7.配置安装源8.安装 四、系统配置1.网络检查2.配置静态IP地址 一、下载安装包 CentOS-7-x86_64【Minimal版】 https://mirro…

程序员必知必会!阿里内部热捧“Spring全线笔记”太完整了

前言 对于每一位Java开发人员来说,提起Spring定是不陌生的,实际上自Spring框架诞生以来,就备受开发者的青睐,基本上现在的互联网公司都要使用到Spring框架。Spring框架中又包含了SpringMVC、SpringBoot、SpringCloud等&#xff0…

OpenGL光照教程之 光照贴图

引言 前面的教程,我们讨论了让不同的物体拥有各自不同的材质并对光照做出不同的反应的方法。在一个光照场景中,让每个物体拥有和其他物体不同的外观很棒,但是这仍然不能对一个物体的图像输出提供足够多的灵活性。  前面的教程中我们将一个物…

关于FPGA基础知识 LCMXO2-7000HC-4TG144C MachXO2系列 FPGA可编程逻辑简介

关于FPGA基础知识 LCMXO2-7000HC-4TG144C lattice莱迪斯深力科 MachXO2系列 FPGA可编程逻辑简介 FPGA基础知识:FPGA是英文Field-Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一…

【测评】飞凌i.MX8MM开发板,为你带来卓越的影音体验

来源:飞凌嵌入式官网 OKMX8MM-C是飞凌基于NXP公司i.MX8M Mini 四核64位处理器所设计的一款开发板,主频最高达1.8GHz,可提供多种音频接口,包括I2S、AC97、TDM、PDM和SPDIF。在性能和算力都大幅提高的同时,系统的运行也更…

idea配置Tomcat服务和创建javaweb项目

前言 我的idea版本是Ultimate 2022.3 步骤 1.先创建一个空的java项目 2.点击project structure 然后点击moudle – > dependcies —>点+ 选择JArs or … 找到你安装的tomcat里面的lin依次添加jsp-api.jar、servlet-api.jar 右击项目然后点add Framework s…

SPSS如何进行生存分析之案例实训?

文章目录 0.引言1.寿命表分析2.Kaplan-Meier分析方法3.Cox回归分析 0.引言 因科研等多场景需要进行绘图处理,笔者对SPSS进行了学习,本文通过《SPSS统计分析从入门到精通》及其配套素材结合网上相关资料进行学习笔记总结,本文对生存分析进行阐…

JVM虚拟机中的类加载机制和双亲委派模型

目录 虚拟机的类加载机制 名词解释 类加载的时机 类加载的过程 1.加载(Loading)阶段 非数组类型的加载阶段与数组类型区别 2.验证(Verification)阶段 1)文件格式验证 2)元数据验证 3)…

深入理解Java虚拟机——对象的创建和内存布局

1.对象的创建 首先声明这一篇博客是在HotSpot虚拟机的前提之下记录的。主要参考书籍来源于周志明老师的《深入理解JVM虚拟机》。 在语言层面,创建对象仅仅是使用一个new关键字。但是从虚拟机的角度来看,创建一个对象一共有5个步骤:类加载检查…

排序大师:探秘C语言中神奇的qsort库函数

本篇文章中会详细讲解C语言中的qsort库函数。我准备分2个方面来讲: qsort如何使用。模拟实现qsort的效果。(注意:只是用冒泡排序的思想实现类似的效果,实际qsort的底层采用的是快速排序的思想。) 如何使用 先来看看q…

反调试与反反调试

参考文本 (190条消息) C 反反调试(NtQueryInformationProcess)_(-: LYSM :-)的博客-CSDN博客 Windows 平台反调试相关的技术方法总结—part 2 - 先知社区 C/C MinHook 库的使用技巧 - lyshark - 博客园 (cnblogs.com) (177条消息) C 反反调试&#x…

C结构简单而不失强大的表格

2023年了,想必已经不会有人对嵌入式开发中“数据结构(Data Structure)”的作用产生疑问了吧?无论你是否心存疑惑,本文都将给你一个完全不同的视角。 每每说起数据结构,很多人脑海里复现的一定是以下的内容&…

unity中用异步的whenAny,实现:当点击铲子任一部件,拾取整个铲子

一、铲子的组成 铲子包含很多部件组成,当拾取铲子的时候,只要点击铲子的任意一个部件就可以。 如图,点击【木柄】、【螺母】、【铁铲】都可以拾取该物体。 (1)打开高亮 (2)等待土铲被点击&…