Question

J'aimerais créer un haricot printanier qui détient la valeur d'un double.Quelque chose comme:

<bean id="doubleValue" value="3.7"/>
Était-ce utile?

La solution

Déclarez-le comme ceci :

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

Et utilisez comme ceci :

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

Autres conseils

Il convient également de noter que, selon vos besoins, définir votre propre bean n'est peut-être pas la meilleure solution pour vous.

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

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

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

Je me suis retrouvé à remplacer plusieurs de mes beans de cette manière, associé à un fichier de propriétés définissant mes valeurs (à des fins de réutilisation).À quoi ressemblait ça

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

est refactorisé en ceci :

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

Pourquoi n'utilisez-vous pas simplement un Double?n'importe quelle raison?

Printemps 2.5+

Vous pouvez définir le bean comme ceci dans la configuration Java :

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

Vous pouvez utiliser ce bean comme ceci dans votre programme :

@Autowired
Double doubleBean;

public void printDouble(){
    System.out.println(doubleBean); //sample usage
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top