2017-04-06 43 views
-1

所以,我在那裏我有注入多個bean,像如何將多個bean添加到列表並遍歷java中的列表?

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

我需要一個特定的方法在所有(比如說callMethod)在此類中執行的豆類。 所以我需要一個列表,我將所有的bean添加到列表中,並遍歷它來執行該列表,或者在xml文件中定義一個列表並遍歷它。但是我不確定,怎麼做。 如何將所有這些bean添加到arrayList並遍歷它?

+0

可能的複製[創建對象的ArrayList]的(http://stackoverflow.com/questions/3982550/創建一個對象的arraylist) –

+0

好吧,既然你手動添加bean,然後只是將它們添加到列表應該不是一個大問題。或者,您可以使用反射來收集所有類型實現您隱式提到的接口的字段。 – Thomas

+0

你使用Spring進行依賴注入嗎? – vikingsteve

回答

0

添加豆類的名單是容易的,但這裏的挑戰是,(假設你正在使用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); 
    } 
} 
+0

我需要一個xml文件,我將bean添加到列表中。 – Anonymous

+0

這有幫助嗎? http://stackoverflow.com/questions/2416056/how-to-define-a-list-bean-in-spring – vikingsteve

+0

如果我必須給而不是?我將如何訪問這個MyClass.java文件? – Anonymous