4.4.0已经修复过一版https://github.com/xiaoymin/knife4j/issues/686该问题,但还是有些问题的
springcloud场景中,bootstrap容器第一次启动使用的environment中的PropertySource应该是和主容器的environment相同的PropertySource,所以bootstrap容器处理的配置是直接添加到主容器的environment中的,所以在default中添加配置时,不能把environment中的defaultProperties配置删掉,而是直接在defaultProperties里面添加属性。否则会丢失bootstrap容器启动阶段在原defaultProperties中设置的值。
而4.4.0使用DefaultPropertiesPropertySource.addOrMerge方法是一定会把原defaultProperties删除掉,生成新的PropertySource合并老的,再添加到environment中,这样如果后续EnvironmentProcessor中有对bootstrap阶段的defaultProperties的处理,会不能应用到springboot主流程的environment中。