2008-09-12 51 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 
}