Wie erstelle ich eine Feder Bohne für eine Java-Doppel primitiv?
Frage
Ich möchte eine Feder Bean erstellen, die den Wert eines Doppel hält. So etwas wie:
<bean id="doubleValue" value="3.7"/>
Lösung
Deklarieren es wie folgt aus:
<bean id="doubleValue" class="java.lang.Double">
<constructor-arg index="0" value="3.7"/>
</bean>
Und wie folgt verwenden:
<bean id="someOtherBean" ...>
<property name="value" ref="doubleValue"/>
</bean>
Andere Tipps
Es ist auch erwähnenswert, dass nach Bedarf in Abhängigkeit Ihre eigene Bean definiert, kann nicht die beste Wahl für Sie sein.
<util:constant static-field="org.example.Constants.FOO"/>
ist ein guter Weg, um einen konstanten Wert in einer Klasse und Standard Bindemittel gespeichert zuzugreifen auch für Konvertierungen sehr gut funktionieren z.B.
<bean class="Foo" p:doubleValue="123.00"/>
Ich habe mich auf diese Weise viele meiner Bohnen ersetzt gefunden, gekoppelt mit Eigenschaften meine Werte Datei zu definieren (für die Wiederverwendung Zwecke). Was so aussehen verwendet
<bean id="d1" class="java.lang.Double">
<constructor-arg value="3.7"/>
</bean>
<bean id="foo" class="Foo">
<property name="doubleVal" ref="d1"/>
</bean>
wird in das Refactoring:
<bean
id="propertyFile"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
p:location="classpath:my.properties"
/>
<bean id="foo" class="Foo" p:doubleVal="${d1}"/>
Warum Sie nicht nur verwenden, um ein Double ? ein Grund?
Spring 2.5 +
Sie können Bohne wie dies in Java Config definieren:
@Configuration
public class BeanConfig {
@Bean
public Double doubleBean(){
return new Double(3.7);
}
}
Sie können diese Bohne wie dies in Ihrem Programm verwenden:
@Autowired
Double doubleBean;
public void printDouble(){
System.out.println(doubleBean); //sample usage
}