我有一个整数列表,如1,2,3,4,5,6,7,8,9,10
我想在我的POJO中将它用作整数数组.
但是,我不希望它在我的类中,但希望将其外部化到属性文件中,然后将其作为类的属性注入我的xml中.
怎么做 ?
谢谢阅读!
Moi*_*ain 12
用逗号分隔值应该这样做
如果你的班级看起来像这样
Class MyCLass
{
private Integer[] myIntArray;
public Integer[] getMyIntArray(){
return this.myIntArray;
}
public void setMyIntArray(Integer[] intArray){
this.myIntArray=intArray;
}
}
Run Code Online (Sandbox Code Playgroud)
你的上下文文件应该是这样的:
<bean id="myBean" class="MyClass">
<property name="myIntArray" value="1,2,3,4,5"></property>
</bean>
Run Code Online (Sandbox Code Playgroud)
如果要使用属性文件:
<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>
Run Code Online (Sandbox Code Playgroud)
在你的myProps.properties文件中
myvalues=1,2,3,4,5
Run Code Online (Sandbox Code Playgroud)
有一种方法可以这样:
<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>
Run Code Online (Sandbox Code Playgroud)
但是,当你需要从属性文件中读取这些值时,我找不到从属性文件中读取的方法:-(
但我有一个丑陋的解决方案.将您的班级更改为以下内容:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
在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>
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
16676 次 |
| 最近记录: |