我正在使用ConfigurationProperties注释将一些值从 application.yml 映射到 java 类。将它与 localhost 配置文件一起使用时一切正常,但是当我从云配置中获取配置时,找不到这些值。我猜这个问题可能是配置文件名可能会根据选择的配置而有所不同,并且 spring 不知道在哪个文件中查找它们。
@Configuration
@ConfigurationProperties(prefix = "some.prefix")
public class SomeMappedConfigClass {
private String variable1;
private String variable2;
}
和带有配置的 yaml
some.prefix:
variable1: abc
variable2: xyz
我试图通过PropertySource注释映射配置文件,但它期望配置文件名在我的情况下可能不同。
@PropertySource("classpath:some-application.yml")
无论配置文件名如何,有什么方法可以将当前加载的配置传递给 PropertySource?从云配置成功获取配置后我收到的日志,用于应用程序:web-server profile: LOCAL
Located property source: CompositePropertySource {name='configService', propertySources=[MapPropertySource {name='file:central-config/web-server-LOCAL.yml'}]}