如何为Java double原语创建spring bean?

时间:2020-03-05 18:52:30  来源:igfitidea点击:

我想创建一个包含double值的spring bean。就像是:

<bean id="doubleValue" value="3.7"/>

解决方案

回答

我们为什么不只使用Double?任何原因?

回答

像这样声明:

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

像这样使用:

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

回答

还值得注意的是,根据需要定义自己的bean可能不是最佳选择。

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

这是访问存储在类中的常量值的好方法,默认绑定程序也可以很好地用于转换,例如

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

我发现自己以这种方式替换了我的许多bean,再加上定义了我的值的属性文件(出于重用目的)。以前看起来像这样

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

重构为:

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