我有一個像1,2,3,4,5,6,7,8,9,10如何注入在彈簧豆int數組
我想用它作爲一個整數整數列表數組在我的POJO。
但是,我不希望它在我的類中,但想要將它外化到屬性文件中,然後將它作爲類的屬性注入到我的xml中。
怎麼辦?
感謝您的閱讀!
我有一個像1,2,3,4,5,6,7,8,9,10如何注入在彈簧豆int數組
我想用它作爲一個整數整數列表數組在我的POJO。
但是,我不希望它在我的類中,但想要將它外化到屬性文件中,然後將它作爲類的屬性注入到我的xml中。
怎麼辦?
感謝您的閱讀!
有把這樣的方式:
<beans:bean id="myBean" class="MyClass">
<beans:property name="myIntArray" >
<beans:list>
<beans:value>1</beans:value>
<beans:value>2</beans:value>
<beans:value>3</beans:value>
</beans:list>
</beans:property>
</beans:bean>
但是當你需要這些值從屬性文件讀取,Icouldn't找到一種方式來閱讀屬性文件:-(
但我有一個醜陋的修復它。類更改爲這樣的事情:
Class MyCLass
{
private Integer[] myIntArray;
private String[] myIntArrayStr;
public Integer[] getMyIntArray(){
return this.myIntArray;
}
public void setMyIntArray(Integer[] intArray){
this.myIntArray=intArray;
}
public void setMyIntArrayStr(String[] myIntArrayStr) {
this.myIntArrayStr = myIntArrayStr;
//we are going to read the values as a string array and set out integer array inside this setter
int i=0;
Integer[] myInts = new Integer[myIntArrayStr.length];
for(String s: myIntArrayStr){
myInts[i]=Integer.parseInt(s);
i++;
}
setMyIntArray(ints);
}
}
寫在XML如下:
<beans:bean id="myBean" class="MyClass">
<beans:property name="myIntArrayStr">
<beans:value>
${myvalues} <!-- this is gonna come from properties file as previously was -->
</beans:value>
</beans:property>
</beans:bean>
希望這有助於。
分離該值以逗號如果你的類看起來是這樣的
Class MyCLass
{
private Integer[] myIntArray;
public Integer[] getMyIntArray(){
return this.myIntArray;
}
public void setMyIntArray(Integer[] intArray){
this.myIntArray=intArray;
}
}
你的環境文件,應該有這樣的事情應該去做
:
<bean id="myBean" class="MyClass">
<property name="myIntArray" value="1,2,3,4,5"></property>
</bean>
,如果你想用戶屬性文件:
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:myProps.properties"/>
</bean>
<bean id="myBean" class="MyClass">
<property name="myIntArray" value="${myvalues}"></property>
</bean>
在你myProps.properties文件
myvalues=1,2,3,4,5
嘖嘖,你等了20分鐘;有一定的耐心。 –
@Rifat:你能不能更新你的答案以及類別代碼(基本上是setter)......這將使答案完整..我無法編輯你的答案! – Nik
@Rifat:這是行不通的......我得到下面的錯誤:引起:org.springframework.beans.TypeMismatchException:無法將類型'java.lang.String'的屬性值轉換爲所需的類型'java.lang .Integer []'屬性'myCodes';嵌套異常是java.lang.NumberFormatException:對於輸入字符串:「1000,2000,3000,4000,5000」 – Nik
我自己跟着醜陋的方式!不管怎麼說,多謝拉! – Nik