Spring 配置文件加载原理
参考:准备Spring Boot的环境
1 核心原理
⭐️1 在SpringBoot的环境准备阶段的后期, 发布一个ApplicationEnvironmentPreparedEvent事件
⭐️2 ConfigFileApplicationListener 监听器监听到这个事件, 使用配置文件加载器(Loader)开始处理这个事件
⭐️3 调用配置加载器,加载配置文件,比如默认的就是application.properties, application 是Spring中定义的, 加载的逻辑大概就是application.xml, application.yaml ,这个源码没仔细看
2 debug源码过程
(1) 加载application.properties 文件?
全文搜索 application.properties
,在 org.springframework.boot.context.config.ConfigFileApplicationListener类的注释中有这个关键字,点开这个类 , 发现实例变量中有 application 字符串
private static final String DEFAULT_NAMES = "application";
继续搜索看看用这个变量的地方, 发现 getSearchNames
方法, 可他是个private方法, 那么就该再看看哪个地方调用了这个方法呢?
只有一个地方:ConfigFileApplicationListener.Loader#load()
方法调用了该方法 , 我们在load() 方法第一行打上断点
Spring 配置文件加载原理相关推荐
- spring.factories加载原理以及自定义EnvironmentPostProcessor
目录 spring.factories加载原理 1. SpringApplication的构造方法 1.1 SpringApplication#getSpringFactoriesInstances ...
- springBoot配置文件加载原理探究
尽管用springBoot做开发已经有很长一段时间了,在开发时一般都是直接将application.properties或application.yml,放在开发环境的resources下的,运行起来 ...
- spring bean加载原理
简单的分析了一下spring bean的加载原理,属于个人的理解,源码比这个要复杂的多: spring的配置文件applicationContext.xml的内容如下: <?xml versio ...
- spring security加载原理(基于springboot)
一.基本架构 二.自动配置原理 依据 Spring Boot 自动配置原理,其会自动加载spring-boot-autoconfigure.jar中/META-INF/spring.factories ...
- spring配置文件加载流程
转自:http://silmon.javaeye.com/blog/283515 Spring配置文件是集成了Spring框架的项目的核心,引擎从哪里开始,中间都执行了哪些操作,小谈一下它的执行流程. ...
- Spring : Spring配置文件加载位置
1.美图 2.概述 spring boot启动会扫描以下位置的application.properties或者applicatior.yml文件作为Spring boot的默认配置文件 file:./ ...
- Spring学习总结(24)——Spring配置文件加载路径总结
1. Spring使用ClassPathXmlApplicationContext 从classpath读取 ClassPathXmlApplicationContext 默认会去 classPath ...
- 配置文件加载位置||外部配置加载顺序||自动配置原理
配置文件加载位置 SpringBoot会从这四个位置全部加载主配置文件:互补配置: 外部配置加载顺序 自动配置原理 1.自动配置原理: 1).SpringBoot启动的时候加载主配置类,开启了自动配置 ...
- Spring Boot 实现配置文件加解密原理
Spring Boot 配置文件加解密原理就这么简单 背景 接上文<失踪人口回归,mybatis-plus 3.3.2 发布>[1] ,提供了一个非常实用的功能 「数据安全保护」 功能,不 ...
最新文章
- 微软终于想通把Script56文档更新了
- 转正答辩ppt_同心同行 乘风破浪 兴业装饰新员工转正考核圆满完成
- Hello, World!我的房车编程生活,已经 150 天了
- 基于webRTC技术 音频和视频,IM解
- 服务器的类型及作用是什么,按用途分类,服务器有哪些? - 问答库
- [书目20081126]转型:用对策略,做对事
- swift 拖动按钮_Swift 简单控件示例:滑块(UISlider)
- 阿里云 Code Pipeline 体验
- 408计算机考试科目英语数学,关于计算机考研408的那些事儿
- Python-OpenCV4中的阈值二值化函数threshold(),要特别注意其返回值有两个
- samba文件共享服务器拒绝访问,Samba共享文件夹拒绝访问
- SGE集群系统了解与常用操作命令
- 电视台的收视率是怎么计算的
- VMware虚拟机安装MAC OS原版系统,轻松体验苹果操作系统
- 阿里又上美国“售假黑名单” 是被故意抹黑了吗
- 5g理论速度_5G的速度到底能有多快?
- idm 无法下载此文件 备注: SSL_connect error 5
- 基于51单片机篮球计分系统
- 三、防火墙配置(2)---防火墙NAT配置
- #20 找出1-1000之间的完数
热门文章
- h5跳转小程序页面url_微信小程序页面跳转方法
- java怎么实现日程提醒_如何用java和xml实现日程提醒
- 条件表达式计算个人所得税c语言,个税的计算C语言实现,结果为什么是负的?...
- linux内核驱动子系统,linux内核中的MFD子系统
- 2021年本溪高中高考成绩查询入口,2021年本溪中考录取结果查询,什么时候出来附查询网址入口...
- 银行突发事件演练方案_【工作动态】准旗联社组织开展优质文明服务应急演练,为优质服务保驾护航!...
- STM32之PWM波
- BPMN2.0--消息事件(message)
- css sprites原理,[css] 第17天 解释下 CSS sprites的原理和优缺点分别是什么?
- 语言 micropython_【雕爷学编程】MicroPython动手做(03)——零基础学MaixPy之开机测试...