如何在java中向列表中添加多个bean并遍历该列表?

如何在java中向列表中添加多个bean并遍历该列表?,java,javabeans,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,比如

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并对其进行迭代?

将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);
    }
}
公共类MyClass{
@资源(name=“bean1”)
私人Bean1 bean1obj;
@资源(name=“bean2”)
私人bean2bean2obj;
@资源(name=“bean3”)
私人Bean3 bean3obj;
listbeans=newarraylist();
@施工后
公共void init(){
添加(bean1obj);
添加(bean2obj);
添加(bean3obj);
}
}

Well的可能重复,因为您正在手动添加bean,所以只需将它们添加到列表中应该不会有太大问题。或者,您可以使用反射来收集所有字段,这些字段的类型隐式地实现了您提到的接口。您使用Spring进行依赖项注入?关于这些beanN类型的类,有什么可以说的吗?除了Object之外,它们是否共享任何接口或抽象类?Bean有返回值的方法,并且没有其他用途。不,它们不共享任何属性,除了所有东西都有一个常用的命名方法。我需要一个xml文件,在其中我将bean添加到列表中。这有帮助吗?如果我不得不付出而不是放弃呢?如何访问这个MyClass.java文件?