如何在java中向列表中添加多个bean并遍历该列表?
我在课堂上注入了多个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)中都有一个
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文件?