2010-10-30 54 views
5

如果總統改變,我會在application-context.xml更改以下的presidentName三次值:如何在application-context.xml中設置一個局部變量來表示重複值?

<beans:property name="presidentName" value="Barack Obama" /> 

有沒有辦法在application-context.xml一旦設定變量來表示字符串Barack Obama

<?xml version="1.0" encoding="UTF-8"?> 
<beans:beans xmlns="http://www.springframework.org/schema/security" 
    xmlns:beans="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
     http://www.springframework.org/schema/security 
     http://www.springframework.org/schema/security/spring-security-3.0.xsd"> 



    <beans:bean id="testBeanA" class="com.TestBean"> 
     <beans:property name="presidentName" value="Barack Obama" /> 
    </beans:bean> 

    <beans:bean id="testBeanB" class="com.TestBean"> 
     <beans:property name="presidentName" value="Barack Obama" /> 
    </beans:bean> 

    <beans:bean id="testBeanC" class="com.TestBean"> 
     <beans:property name="presidentName" value="Barack Obama" /> 
    </beans:bean> 



</beans:beans> 

回答

2

在spring中定義一個將它指定爲abstract(abstract =「true」)的bean,並在其中注入presidentName屬性。然後,您可以通過將您之前定義的抽象bean指定爲父項來定義3個具體Bean。例如,

<beans:bean id="testBeanSpec" class="com.TestBean" abstract="true"> 
     <beans:property name="presidentName" value="Barack Obama" /> 
</beans:bean 

<beans:bean id="testBeanA" class="com.TestBean" parent="testBeanSpec"> 
    </beans:bean 
2

Define president as String-class bean?

12

正如哈欠指出的,你可以定義一個新的String類的spring bean。

<bean id="testBeanA" class="com.TestBean"> 
    <property name="presidentName" ref="potus" /> 
</bean> 

<bean name="potus" class="java.lang.String"> 
    <constructor-arg value="Barack Obama" /> 
</bean> 
相關問題