我不知道如何首先明确表达/搜索问题。
所以初始化的bean是:
<bean id='domain' factory-bean='appConfig' factory-method='getDomain'/
<bean id='prod' class='java.lang.String'> <constructor-arg value='Base.Prod'/> </bean>
<bean id='test' class='java.lang.String'> <constructor-arg value='Base.Beta' /> </bean>
现在我需要使用Prod或Test的值创建一个bean“X”,具体取决于domain的值。如果domain是Prod,使用Prod的bean初始化bean X,否则使用Test。
$ {$ {domain}}不起作用。我试过搜索,但无法找到一个意味着这个的问题。
答案 0 :(得分:1)
这将有效
@Value("${domain}")
private String domain;
结合
-Ddomain=dev
Spring将所有系统属性添加到从属性文件中读取的属性。
答案 1 :(得分:1)
@ EssexBoy在XML中的答案看起来像这样:
<bean id="domain" class="java-lang.String">
<constructor-arg>
<value>${domain}</value>
</construcotr-arg>
</bean>
答案 2 :(得分:0)
将其用作:
<bean id="ThatBean" class="whicheverClass">
<constructor-arg ref="#{domain}" />
</bean>