• 子房
    2021-01-23
    有点难度呀, 那默认的 dev.yml 怎么处理的

    作者回复: 自定义实现呗

    
    1
  • jdom
    2023-07-23 来自广东
    当使用的是YamlMapFactoryBean时,YamlMapFactoryBean#getObject返回的结果是一个嵌套Map,如果不处理下嵌套Map(必须将key进行扁平化),那么在user.id或user.name作为key去获取时只会返回为null,最终程序会报错

    作者回复: 是的,需要flat 一下

    
    
  • 边缘
    2022-08-30 来自四川
    YamlMapFactoryBean、YamlPropertiesFactoryBean 都实现了 InitializingBean 接口,并重写 afterPropertiesSet 方法。 InitializingBean#afterPropertiesSet 中会根据配置的 yaml 文件路径,去读取 Yaml 文件,并转化为 Resource 资源, 再转为 Map。 Yaml 配置文件的解析与加载过程分析大致如下: 1. 在 loadBeanDefinitions 时将 XML 配置中的 yamlMap 对象加载到 Sprig IoC 容器中; 2. 依赖查找获取 bean 对象, 触发 Spring bean 的初始化生命周期回调afterPropertiesSet, 读取 yaml 配置并转换为 Map 返回。

    作者回复: 👍

    
    
  • on
    2022-03-10
    Spring需要yaml ,为啥他又设置为可选?因为这种格式有的少?

    作者回复: 这个需要高版本Spring 支持,yaml 这种格式出现得比较晚,不太好兼容之前的Properties 设置

    
    
  • 木小柒
    2020-04-04
    刚开始接触 spring boot 的时候,有次要处理非 application-x.yml 的配置,因为yml比properties的格式丰富,结果好像折腾了一天,最后是这么解决的: List<PropertySource<?>> propertySources = new YamlPropertySourceLoader().load(name, resource.getResource()); return propertySources.get(0); 但只能处理一个资源,不过解决了当时的问题就没继续找。 看了今天的课程才突然想起来这个事来,的确是:用起来不是很友好的地方,可能就是用的方法不太对。
    
    5