Я хотел бы добавить свой собственный файл 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
Любое руководство будет высоко оценено.