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://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-relaxed-binding

https://www.baeldung.com/properties-with-spring

最新文章

  1. BZOJ1013: [JSOI2008]球形空间产生器sphere
  2. C#夯实基础之多线程一:初识多线程
  3. Android开发之MVP模式的使用
  4. WCF学习之旅——第一个WCF示例(三)
  5. Echart的简单例子
  6. 2016huasacm暑假集训训练三 D - Invitation Cards
  7. Android Studio 2.0使用指南
  8. android gridview几个重要属性(android:listSelector自带内部padding分析)
  9. 做梦想起来的C#简单实现贪吃蛇程序(LinQ + Entity)
  10. Redis设计与实现-持久化篇
  11. 【液晶模块系列基础视频】4.1.X-GUI图形界面库-画线画圆等函数简介
  12. 238. Product of Array Except Self
  13. EXPRESS.JS再出发
  14. vijosP1053 Easy sssp
  15. J2se中的声音---AudioPlayer
  16. SpringMVC+Mybatis+MySQL配置Redis缓存
  17. Linux input子系统 io控制字段【转】
  18. MVC数据库连接
  19. was修改控制台端口教程
  20. 了解java虚拟机—并行回收器(7)

热门文章

  1. sklearn.svm.SVC参数说明
  2. __call()和__callStatic()方法
  3. Sequelize框架:
  4. iOS 判断设备是否越狱了
  5. rpush()
  6. Javascript parseInt()和parseFloat()的用法
  7. RPM验证与数字签名(Verify/Signature)
  8. delete请求,删除不成功?
  9. Excel课程学习第三课排序与替换
  10. spring 中配置sessionFactory及用法