我有三个(A,B,C)spring context.xml,A用于基本配置,B和C用于导入A.
在A的豆子里我有:
<bean class="com.example.Ex"> <property name="aString" value="${myString}" /> </bean>
现在我想在B和C上下文中定义属性myString,可以在没有create的情况下执行它并加载两个不同的属性文件吗?
答案 0 :(得分:51)
您可以通过声明String类型的bean来尝试另一种方法,而不是处理Properties。
这样:
A
<bean class="com.example.Ex">
<property name="aString" ref="str" />
</bean>
然后你在B和C语境中用这种方式声明“str”引用:
乙
<bean id="str" class="java.lang.String">
<constructor-arg value="string_1"/>
</bean>
C
<bean id="str" class="java.lang.String">
<constructor-arg value="string_2"/>
</bean>
答案 1 :(得分:7)
为了完整性,这里有另一种创建字符串的方法:
不是调用强制不必要地创建新对象的String构造函数,而是使用valueOf方法,这可以作为一个&#34;什么都不做&#34;构造:
Unresolved variable fields at line 106
然而,这只是学术上的,因为解析附加XML属性的开销也会导致创建字符串的开销大于调用valueOf而不是构造函数的性能增益。
答案 2 :(得分:-8)
这也是其中一种方式。
<bean id="str" class="com.example.Ex">
<constructor-arg type="java.lang.String" value="INDIA"/>