前言
关于nacos客户端如何获取到服务端的配置信息的主流程源码分析和客户端拉取服务端变更的主流程源码分析在前两篇文章都分析过了,虽然读的人并不是很多,加起来也没有200个人阅读,也不知道是我写的不好,还是大家对nacos的源码并不感兴趣,不过既然是系列教程,我们还是要坚持把这个小系列教程做完,本小节本来要介绍nacos和spring boot整合的主流程源码分析的,但是思来想去,还是先花几个小节把spring boot的启动流程中涉及到的主要组件一起学习一下,这样可能分析nacos和spring boot整合时候,大家理解的可能会快一点,达到事半功倍的效果
本文为原创文章,主要讲解spring boot一个核心组件EnvironmentPostProcessor,阅读本文大约7分钟,如果觉得本文写的不错,请给一个点赞或者关注一下,您的支持是我写作的最大动力
EnvironmentPostProcessor功能说明
EnvironmentPostProcessor从名字上看,叫做"环境后置处理器",它是一个接口,它可以再spring上下文启动的时候,去初始化一些基本配置信息,将某些变量信息,加载到spring容器上下文中,更加通俗的理解就是它可以用来解析加载我们自定义额外properties
举例来说:
1) 我们可以使用EnvironmentPostProcessor来加载json文件中的kv属性,将其解析到全局的环境变量里面,然后使用@Value来获取到信息
2)我们甚至可以使用EnvironmentPostProcessor来加载远程的配置,例如我们可以使用这个组件加载nacos的服务器的配置信息
EnvironmentPostProcessor 实战——加载本地json数据
step1.编写测试数据
1.1.首先在spring boot的hello world项目的resource文件夹下新建一个测试的json——custom_properties文件,就写两个简单的kv值
1.2.存在的位置在resources/json/custom_properties.json,格式如下
step2.自定义EnvironmentPostProcessor
2.1.新建BazingaJsonEnvironmentPostProcessor,这个类主要是读取我们刚才写的cutom_properties.json的文本信息,然后加载到spring的Environment中,BazingaJso