二、springboot配置文件

二、springboot配置文件,第1张

ConfigFileApplicationListener 主要作用就是读取应用的配置文件并add到Environment的PropertySources列表里

Springboot应用在启动的时候准备好了环境后就会触发 ApplicationEnvironmentPreparedEvent 事件就开始执行读取配置的逻辑:

首先加载当前激活的Profile列表

然后从默认的 classpath:/,classpath:/config/,file:/,file:/config/ 这四个目录下

查找默认的application-{profile}名字对应的配置文件,配置文件格式支持两大类(Properties和Yaml)既:properties xml yml yaml

可以修改默认的配置文件名字(默认:application),可以指定多个比如 --springconfigname= application,demo

可以修改默认的配置文件路径,比如 --springconfiglocation= file:///C:/config/ (目录结尾不带“/”会按照文件处理,而不是目录,容易掉坑)

阅读源码入口就从他的onApplicationEvent开始跟即可,将自身添加到postProcessor列表里并执行postProcessEnvironment方法,核心逻辑是靠一个Loader内部类

new Loader(environment, resourceLoader)load()

大概就是,如果没有springprofilesactive 和 springprofilesinclude都没有特别指定激活的profile的话

没有特别指定profile的话就是:null + default,也就是我们常见的applicationproperties 和 application-defaultproperties这种

如果指定了那就是:null + 已经激活(pre-existing)的profile + springprofilesactive + springprofilesinclude

举个例子,假如激活了多个profile比如:--springprofilesactive=prd1,prd2,最终优先级上prd1 > prd2 > default(null)

1通过Java获取本机ip,可以使用InetAddress类的getLocalHost()方法。

2通过Spring Boot配置文件(比如applicationyml)来设置数据库连接,可以使用Spring Boot placeholder实现,如:${localip}:3306

3在SpringBoot应用程序启动时,程序可以在启动参数里指定localip属性,获取本机ip,并与端口号组合成数据库链接地址。

以上就是关于二、springboot配置文件全部的内容,包括:二、springboot配置文件、Springboot打成JAR包后读取外部配置文件、Springboot配置文件读取-ConfigFileApplicationListener等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9295730.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存