Пользовательский yml для весеннего запуска приложения - PullRequest
1 голос
/ 24 января 2020

Я хотел бы добавить свой собственный файл custom.yml в папку ресурсов и прочитать конфигурацию из него, где у меня уже есть файлы application.properties и appInfo.properties.

Когда я запускаю приложение, оно выдает

Binding to target org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'some.list'  
 Property: some.list.myList
    Value: null
    MyList: must not be null

Но когда я изменяю custom.yml на custom.properties, тогда оно работает хорошо.

Ниже мой класс MainApplication

@SpringBootApplication
@SpringBootApplication
@PropertySources({
    @PropertySource(value = {"classpath:/appInfo.properties"}, ignoreResourceNotFound = true),
    @PropertySource(value = {"classpath:/custom.yml"})
})
public class MainApplication {

    public static void main(String[] args) {
        SpringApplication.run(MainApplication, args);
    }
}

Ниже приведен мой конфигурационный класс

@Validated
@Configuration
@EnableAutoConfiguration
@EnableConfigurationProperties
@ConfigurationProperties(prefix = "some.list")
public class CustomConfig {

    @NotNull
    private List<String> myList;

}

src / main / resources / custom.yml

some:
  list:
    my-list:
      - "value 1"
      - "value 2"

src / main / resources / application.properties

server.port=8070
#. other configs
 .
 .

src / main / resources / appInfo.properties

info.build.name=@project.name@
info.build.version=@project.version@-@rpm.release@

Spring boot version 2.1.2.RELEASE with Java version 8

Любое руководство будет высоко оценено.

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