在 Spring 配置服务器中添加环境存储库
Adding environment repository in Spring Config Server
我是 Spring Boot 的新手,所以如果我忽略了一些简单的事情,请原谅。
使用 Spring 配置服务器,您可以通过 .yml 文件指定您要使用的环境存储库类型(本机、Git 等)。这些环境存储库包含在第三方依赖项中。我想知道是否可以添加您自己的环境存储库,以便您可以连接到数据库以获取配置?
非常感谢!
当然可以。参见 spring cloud consul config as an example. The guts is a PropertySource
public class MyPropertySource extends EnumerablePropertySource<MyClient> {
@Override
public Object getProperty(String name) {
return /* your impl */;
}
@Override
public String[] getPropertyNames() {
return /* your impl here */;
}
}
您还需要一个指向 bootstrap 配置的 PropertySourceLocator
, a bootstrap configuration and a META-INF/spring.factories
。
正如 spencergibb 在另一个 中所述,PropertySource 只为配置服务器本身提供配置, spring 引导配置客户端无法访问.
您实际需要的是 EnvironmentRepository 接口的实现。
我在
中提供了一个简单的 CustomEnvironmentRepository 示例
我是 Spring Boot 的新手,所以如果我忽略了一些简单的事情,请原谅。
使用 Spring 配置服务器,您可以通过 .yml 文件指定您要使用的环境存储库类型(本机、Git 等)。这些环境存储库包含在第三方依赖项中。我想知道是否可以添加您自己的环境存储库,以便您可以连接到数据库以获取配置?
非常感谢!
当然可以。参见 spring cloud consul config as an example. The guts is a PropertySource
public class MyPropertySource extends EnumerablePropertySource<MyClient> {
@Override
public Object getProperty(String name) {
return /* your impl */;
}
@Override
public String[] getPropertyNames() {
return /* your impl here */;
}
}
您还需要一个指向 bootstrap 配置的 PropertySourceLocator
, a bootstrap configuration and a META-INF/spring.factories
。
正如 spencergibb 在另一个
您实际需要的是 EnvironmentRepository 接口的实现。
我在