environment与@ConfigurationProperties的关系 加载过程分析
2024-08-29 04:29:15
environment是在printBanner之前就初始化好了, 更在context创建之前,
已经加载application-xxxx.properties, System.properties, System.environment ...
也可以自己监听应用启动 SpringApplicationRunListener事件, 完成自己的独特的配置加载方案
启动后调用listener.finished() 打印一些启动后的信息
prepareEnvironment()源码如下
private ConfigurableEnvironment prepareEnvironment(
SpringApplicationRunListeners listeners,
ApplicationArguments applicationArguments) {
// Create and configure the environment
ConfigurableEnvironment environment = getOrCreateEnvironment(); //加载标准目录下的配置文件 &profile
configureEnvironment(environment, applicationArguments.getSourceArgs());
//加载自定义的配置方案
listeners.environmentPrepared(environment);
if (!this.webEnvironment) {
environment = new EnvironmentConverter(getClassLoader())
.convertToStandardEnvironmentIfNecessary(environment);
}
return environment;
}
@ConfigurationProperties 使用的变量也是从environment中取的
CLI参数配置方式:
参考:
https://www.baeldung.com/properties-with-spring
最新文章
- BZOJ1013: [JSOI2008]球形空间产生器sphere
- C#夯实基础之多线程一:初识多线程
- Android开发之MVP模式的使用
- WCF学习之旅——第一个WCF示例(三)
- Echart的简单例子
- 2016huasacm暑假集训训练三 D - Invitation Cards
- Android Studio 2.0使用指南
- android gridview几个重要属性(android:listSelector自带内部padding分析)
- 做梦想起来的C#简单实现贪吃蛇程序(LinQ + Entity)
- Redis设计与实现-持久化篇
- 【液晶模块系列基础视频】4.1.X-GUI图形界面库-画线画圆等函数简介
- 238. Product of Array Except Self
- EXPRESS.JS再出发
- vijosP1053 Easy sssp
- J2se中的声音---AudioPlayer
- SpringMVC+Mybatis+MySQL配置Redis缓存
- Linux input子系统 io控制字段【转】
- MVC数据库连接
- was修改控制台端口教程
- 了解java虚拟机—并行回收器(7)
热门文章
- sklearn.svm.SVC参数说明
- __call()和__callStatic()方法
- Sequelize框架:
- iOS 判断设备是否越狱了
- rpush()
- Javascript parseInt()和parseFloat()的用法
- RPM验证与数字签名(Verify/Signature)
- delete请求,删除不成功?
- Excel课程学习第三课排序与替换
- spring 中配置sessionFactory及用法