Je voudrais créer un haricot de printemps qui détient la valeur d'un double. Quelque chose comme:Comment créer un bean spring pour une primitive Java double?
<bean id="doubleValue" value="3.7"/>
Je voudrais créer un haricot de printemps qui détient la valeur d'un double. Quelque chose comme:Comment créer un bean spring pour une primitive Java double?
<bean id="doubleValue" value="3.7"/>
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>
Pourquoi ne pas simplement utiliser un Double? n'importe quelle raison?
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}"/>
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
}
Si vous voulez raccourcir un petit peu, l'attribut 'index' de l'élément' constructeur-arg' semble être en option. – JBert