2010-10-30 10 views
5

Si les changements de président, je dois changer la valeur de presidentName trois fois ci-dessous dans le application-context.xml:Comment définir une variable locale dans application-context.xml pour représenter une valeur répétée?

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

Y at-il un moyen de définir une fois variable application-context.xml pour représenter la chaîne 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> 

Répondre

2

Définir un bean en le spécifiant comme abstrait (abstract = "true") au printemps et y injecter la propriété presidentName. Vous pouvez ensuite définir les 3 beans concrets en spécifiant le bean abstrait que vous avez défini précédemment en tant que parent. par exemple

<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

Définir president en tant que bean de classe String?

12

Comme bâillement souligné, vous pouvez définir un nouveau grain de printemps String-classé.

<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> 
Questions connexes