Загрузите файл yml и распечатайте значения из yml весной - PullRequest
0 голосов
/ 18 сентября 2018

Я новичок в весне и на пути обучения.

У меня есть один файл country.yml, и я хочу загрузить значения из файла. Как я могу это сделать? Я могу загрузить значения, если это не список. если это список, то получается ошибка (не удалось разрешить местозаполнитель 'Country.CountryName' в значении "$ {Country.CountryName}") Ниже файл

Country:
-
    CountryName: Afghanistan
    CountryCode: AFG
    CurrencyName: Afghan afghani
    CurrencyCode: AFN
    Region: Asia
    SubRegion: Southern Asia
    LanguageName: Pashto
    LanguageCode: PUS
    PerCapitaRank: 170
-
    CountryName: Åland Islands
    CountryCode: ALA
    CurrencyName: Euro
    CurrencyCode: EUR
    Region: Europe
    SubRegion: Northern Europe
    LanguageName: Swedish
    LanguageCode: SWE
    PerCapitaRank: 

Ниже мой код

ConfigurableApplicationContext applicationContext = new SpringApplicationBuilder(YamlTestApplication.class)
                .properties("spring.config.name:CountriesData,applicationTest",
                        "spring.config.location:classpath:/config/")
                .build().run(args);

        ConfigurableEnvironment environment = applicationContext.getEnvironment();
        MutablePropertySources sources = environment.getPropertySources();

        for(PropertySource<?> x : sources) {
            System.out.println(x.getName());
            if(x.getName().startsWith("applicationConfig")) {
                LinkedHashMap<String, OriginTrackedValue> z = (LinkedHashMap<String, OriginTrackedValue>) x.getSource();
                //LinkedHashMap<String, String> a = z.get("Country.CountryName");
                for(Entry<String, OriginTrackedValue> entry : z.entrySet()){

                        System.out.println(entry.getKey() + ": " + entry.getValue());
                    //}
                }
                //System.out.println(z.get("Country.CountryName"));
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...