//进入SpringApplication找到run方法
//选择DefaultApplicationArguments,创建应用程序参数
//然后我们在进入prepareEnvironment方法 准备环境参数
//我们先进入getOrCreateEnvironment方法 获取或者创建环境
//如果环境不为空,那么直接返回
//如果环境为空,根据当前web应用类型选择对应的环境创建对象
//默认为servlet 应用类型
//this.webApplicationType 在别的地方已经获取了,所以这里可以直接拿到
//如果不懂 可以看这个链接
springboot源码分析之webApplicationType_我是一只代码狗的博客-CSDN博客
//我们可以看到系统的属性,和环境都已经放入了
//然后我们找到这一行listeners.environmentPrepared(environment); 环境准备
//然后跟着箭头走
//然后我们进入ConfigFileApplicationListener,找到应用事件的方法
//然后进入onApplicationEnvironmentPreparedEvent方法,然后跟着箭头走
//在这里
//profile =null就是我们的默认文件,profile=dev就是我们的dev文件
//从 上面的方法可以看到,默认的配置文件和dev的配置文件,已经读取到,因为我们设置了
//spring.profiles.active=dev 他读取的时候 也会读dev的信息
//点击load
//跟着箭头走
//我们可以看下document.getActiveProfiles()的数据,这就是我们指定的环境
//吧dev添加到this的profiles中
//在这个removeUnprocessedDefaultProfiles()方法删除default
//我们再次回到主load方法 跟着箭头走
//然后再这个this.loaded.values里面就能看到我们配置文件的信息了
//然后进入addLoadedPropertySource(destination, lastAdded, source);
//跟着箭头走,我们可以看到这里在索引后面追加一条数据
//然后environment的propertySources的propertySourceList集合就有新的数据了,我们可以看下效果