2008-09-12 26 views

回答

12

声明这样说:

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

而且使用这样的:

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

如果你想缩短一点点,在``的构造函数arg`元素的index`属性似乎是可选的。 – JBert 2013-11-12 16:11:13

0

你为什么不只是使用?任何原因?

6

另外值得一提的是,根据您的需要定义自己的bean可能不适合你最好的选择。

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

是访问存储在类中的常量值的一种好方法,默认绑定器也可以很好地用于转换,

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

,我发现自己更换我的许多豆以这种方式,再加上属性文件来定义我的价值观(再利用的目的)。用什么来这个样子

<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}"/> 
0

春2.5+

您可以像这样配置的Java bean的定义:

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

你可以使用这个bean lik E本在你的程序:

@Autowired 
Double doubleBean; 

public void printDouble(){ 
    System.out.println(doubleBean); //sample usage 
}