如何将多个bean添加到列表中并遍历java中的列表?

时间:2017-04-06 12:37:23

标签: java javabeans

所以,我有一个课程,我已经注入了多个bean,比如

private class MyClass{
    @Resource(name = "bean1")
    private bean1 bean1obj;
    @Resource(name="bean2")
    private bean2 bean2obj;
    @Resource(name="bean3")
    private bean3 bean3obj;
}

我需要在这个类中执行所有bean(比如callMethod)中的特定方法。 所以我将需要一个列表,我将所有bean添加到列表中并迭代它以执行它或在xml文件中定义列表并迭代它。但是我不确定,怎么做。 如何将所有这些bean添加到arrayList并迭代它?

1 个答案:

答案 0 :(得分:0)

将bean添加到列表中很容易,但是这里面临的挑战是(假设您正在使用Spring),您希望在发生依赖项注入后执行此操作

通过@PostConstruct可以做到这一点。

假设每个bean类都有一个共同的超类Bean,你可以尝试这样的事情:

public class MyClass{
    @Resource(name = "bean1")
    private Bean1 bean1obj;
    @Resource(name = "bean2")
    private Bean2 bean2obj;
    @Resource(name = "bean3")
    private Bean3 bean3obj;

    List<Bean> beans = new ArrayList<Bean>();

    @PostConstruct
    public void init() {
        beans.add(bean1obj);
        beans.add(bean2obj);
        beans.add(bean3obj);
    }
}