Нужно, чтобы объект POJO для приведенной ниже структуры yml был автоматически подключен с помощью весенней загрузки. - PullRequest
0 голосов
/ 18 мая 2018

application.yml

countries:
  country:
    - name: kenya
      insuffbal: test101
      inactive: test101
    - name: botswana
      insuffbal: test102
      inactive: test101

указанную выше структуру yml необходимо сопоставить с объектом Java с помощью Bean.

Country.java

@Component
@ConfigurationProperties(prefix = "countries.ke")
public class Countries {
   //Need to map here - help me here
}

Приложение.Ява

@SpringBootApplication
@EnableConfigurationProperties(Countries.class)
public class Application {

    public static void main(String[] args) {
        ApplicationContext context = SpringApplication.run(Application.class, args);
        RepoProperties repoProperties = context.getBean(RepoProperties.class);
        repoProperties.print();
    }
}

1 Ответ

0 голосов
/ 18 мая 2018

Использование http://www.jsonschema2pojo.org/

Просто вставьте туда свой файл yaml и выберите тип источника yaml

Вот файл компонента, который необходимо определить

@Configuration
@ConfigurationProperties(prefix = "countries")
public class Countries {

    private List<Country> country = null;

    public List<Country> getCountry() {
        return country;
    }

    public void setCountry(List<Country> country) {
        this.country = country;
    }

    public static class Country {

        private String name;
        private String insuffbal;
        private String inactive;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getInsuffbal() {
            return insuffbal;
        }

        public void setInsuffbal(String insuffbal) {
            this.insuffbal = insuffbal;
        }

        public String getInactive() {
            return inactive;
        }

        public void setInactive(String inactive) {
            this.inactive = inactive;
        }
    }
}

Теперь просто Autowire Countries везде, где вы хотите использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...