2012-08-01 61 views
0

我想在我的春天(v3)xml中初始化布爾值[]。問題是我需要加載該數組的特定索引。例如,我想加載下面bArray:在Spring 3 XML中加載數組的特定索引?

boolean[10] bArray; 

    bArray[Options.AUTO]=true; 
    bArray[Options.AIR]=false; 
    bArray[Options.FOOT]=false; 

我見過像下面的一個例子,但是這個例子中沒有定義的價值的指標。

<bean id="MyBean" class="org.test.Autos"> 
    <property name="lists"> 
     <util:list list-class="java.util.ArrayList"> 
      <value>true</value> 
      <value>false</value> 
      <value>false</value> 
     </util:list> 
    </property> 
</bean> 

這可以在Spring xml中完成嗎?由於

+0

您是否嘗試過使用Java'@ Configuration'並在Java中執行它,但仍在Spring容器中? – 2012-08-01 17:07:00

+0

不知道我明白你的意思,但我沒有訪問調用類的代碼(在我的例子中是org.test.Autos)。我可能最終編寫一個類來包裝一個類,並創建映射到數組中每個位置的實例變量。你是這個意思嗎? – eze 2012-08-01 17:52:49

回答

1

這是一個什麼樣的Tomasz意味着通過使用@Configuration註釋的例子:你需要定義AutosConfiguration

第一:

@Configuration 
public class AutosConfiguration { 

    @Bean 
    public boolean[] b_Array() { 
     boolean[] bArray = new boolean[10]; 
     bArray[Options.AUTO]=true; 
     bArray[Options.AIR]=false; 
     bArray[Options.FOOT]=false; 
     return bArray; 
    } 
} 

你會使用這個類來指定自定義配置變量爲bArray

然後,你需要配置Spring上下文:

<context:annotation-config /> 
<context:component-scan base-package="com.my.pack" /> 

<bean id="MyBean" class="org.test.Autos"> 
    <property name="bArray" ref="b_Array" /> 
</bean> 

其中com.my.pack是在AutosConfiguration類中找到包。

我希望這是有幫助的。

+0

@ user716154這是很有用? – 2012-08-02 06:32:33

+0

對不起,我不認爲我很清楚。我的挑戰是我需要在XML中定義值(因此可以在不更改代碼的情況下更改它們)。所以,如下所示: true false eze 2012-08-02 15:43:43