首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从配置服务器中的.yaml文件动态生成beans列表

从配置服务器中的.yaml文件动态生成beans列表
EN

Stack Overflow用户
提问于 2015-01-28 06:27:12
回答 1查看 2.4K关注 0票数 0

我使用spring-config-server。我让它正常工作,但理想情况下,我希望在一个.yaml文件中生成一个具有属性的服务器列表。

代码语言:javascript
运行
复制
@Resource
private List<Server> servers;

然后:

代码语言:javascript
运行
复制
@Component
public class Server {

      @Value("${server.name}")
       private String name;
}

在(applicationName).yaml文件中:

代码语言:javascript
运行
复制
servers:
-
    name: test
-
    name: test2

请参见我希望从配置中动态生成List<Server>。此配置位于配置服务器上,这一事实应该与本地.yaml文件没有太大区别,对吧?

谢谢你的帮助

EN

回答 1

Stack Overflow用户

发布于 2015-02-02 23:12:56

我们弄清楚了..。

代码语言:javascript
运行
复制
Trinity:
  test: Goober
  servers:
    -
      name: test
      jmxURL: jmx://test
    -
      name: test2
      jmxURL: jmx://test

这是配置(在配置服务器中)...这是代码

代码语言:javascript
运行
复制
@Component
@EnableAutoConfiguration
@EnableConfigurationProperties
@ConfigurationProperties(prefix="Trinity")
public class ConfigFetcher {


    List<Server> servers;

    public List<Server> getServers() {
        return servers;
    }

    public void setTest(String test) {
        this.test = test;
    }


    public void setServers(List<Server> servers) {
        this.servers = servers;
    }


    @EnableConfigurationProperties
    @ConfigurationProperties(prefix="Trinity.servers")
    public static class Server{
        private String name;
        private String jmxURL;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }


        public String getJmxURL() {
            return jmxURL;
        }

        public void setJmxURL(String jmxURL) {
            this.jmxURL = jmxURL;
        }

        @Override
        public String toString() {
            return "Server [name=" + name + ", jmxUrl=" + jmxURL + "]";
        }

    }   

}

在主类(本例中是我的服务)中:

代码语言:javascript
运行
复制
 @EnableAutoConfiguration


    @Autowired
    private ConfigFetcher c;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28181218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档