从应用程序属性创建spring原型bean

时间:2015-11-02 16:30:44

标签: java spring prototype javabeans autowired

我想根据application.properties

中定义的值列表创建N个bean

e.g。

MyBean {
    private String name; // with appropriate accessor methods
    MyBean(String n) {
        this.name = n;
    }
    public void saySomeThing() {
        log.debug(this.name+ " says hello");
    }
}

我在application.properties中有一个列表为

names[0]=James
names[1]=Mark

如何创建bean(在本例中为2),然后在需要时随意使用它们? e.g。

for (int i=0;i<10;i++) {
    if (i%2==0)
        //get James to say hello
    else 
        //get Mark to say hello
}

顺便说一句。我打算使用注释。

1 个答案:

答案 0 :(得分:0)

我会用一种工厂来实现它。

@Bean
@Scope("prototype")
public MyBean myBean() {
    String name = ...
    return new MyBean(name);
}