У меня есть библиотека журналов, которая включена в Spring Application. Существует инициализация:
package my.project.logger;
import org.springframework.boot.context.properties.bind.Binder;
import org.springframework.context.ApplicationContextInitializer;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.env.ConfigurableEnvironment;
public class MyLibClass implements
ApplicationContextInitializer<ConfigurableApplicationContext> {
@Override
public void initialize(ConfigurableApplicationContext applicationContext) {
final ConfigurableEnvironment environment = applicationContext.getEnvironment();
final Binder binder = Binder.get(environment);
String log = binder.bind("logger.log", Bindable.of(String.class))
.orElseThrow(() -> new IllegalArgumentException(
"Mandatory log name is not specified."));
}
}
Работает нормально только с spring-boot-starter-web
, но не работает, если при подключении spring-cloud-gcp-starter
такого свойства нет.
Не могли бы вы сообщить, что может быть здесь не так, и почему Environment не содержит application.properties в случае spring-cloud-gcp-starter?