我有一个Spring应用程序中包含的日志记录库。有一个初始化:
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
时则没有这种属性会失败。
请问一下在这里可能出什么问题以及为什么在spring-cloud-gcp-starter的情况下Environment不包含application.properties的原因?