我想创建一个拥有双精度值的弹簧豆。就像是:
<bean id="doubleValue" value="3.7"/>
像这样声明它:
<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}"/>
你为什么不直接使用Double?任何原因?
春天 2.5+
您可以在 Java 配置中这样定义 bean:
@Configuration
public class BeanConfig {
@Bean
public Double doubleBean(){
return new Double(3.7);
}
}
你可以在你的程序中像这样使用这个bean:
@Autowired
Double doubleBean;
public void printDouble(){
System.out.println(doubleBean); //sample usage
}