2008-09-12 11 views

Répondre

12

Déclarez comme ceci:

<bean id="doubleValue" class="java.lang.Double"> 
    <constructor-arg index="0" value="3.7"/> 
</bean> 

Et utiliser comme ceci:

<bean id="someOtherBean" ...> 
    <property name="value" ref="doubleValue"/> 
</bean> 
+0

Si vous voulez raccourcir un petit peu, l'attribut 'index' de l'élément' constructeur-arg' semble être en option. – JBert

0

Pourquoi ne pas simplement utiliser un Double? n'importe quelle raison?

6

Il est également intéressant de noter que, selon votre besoin de définir votre propre haricot peut ne pas être le meilleur pari pour vous.

<util:constant static-field="org.example.Constants.FOO"/> 

est un bon moyen d'accéder à une valeur constante stockée dans un classeurs de classe et par défaut fonctionnent également très bien pour les conversions par exemple

<bean class="Foo" p:doubleValue="123.00"/> 

Je me suis trouvé remplacer beaucoup de mes haricots de cette manière, associée à un fichier de propriétés définissant mes valeurs (à des fins de réutilisation). Ce qui était autrefois ressembler à ceci

<bean id="d1" class="java.lang.Double"> 
    <constructor-arg value="3.7"/> 
</bean> 
<bean id="foo" class="Foo"> 
    <property name="doubleVal" ref="d1"/> 
</bean> 

obtient refondus dans ce:

<bean 
    id="propertyFile" 
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" 
    p:location="classpath:my.properties" 
/> 
<bean id="foo" class="Foo" p:doubleVal="${d1}"/> 
0

printemps 2.5+

Vous pouvez définir le haricot comme celui-ci dans la configuration Java:

@Configuration 
public class BeanConfig { 
    @Bean 
    public Double doubleBean(){ 
     return new Double(3.7); 
    } 
} 

Vous pouvez utiliser ce bean lik e dans votre programme:

@Autowired 
Double doubleBean; 

public void printDouble(){ 
    System.out.println(doubleBean); //sample usage 
} 
Questions connexes