Vra

Ek wil graag 'n lente boontjie dat die waarde van 'n dubbele hou skep. Iets soos:

<bean id="doubleValue" value="3.7"/>
Was dit nuttig?

Oplossing

Verklaar dit soos volg:

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

En gebruik soos volg:

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

Ander wenke

Dit is ook opmerklik dat, afhangende van jou behoefte te definieer jou eie boontjie nie die beste bet vir jou kan wees.

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

'n goeie manier om toegang te verkry tot 'n konstante waarde gestoor in 'n klas en standaard bande ook baie goed werk vir doelskoppe bv

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

Ek het ontdek dat ek die vervanging van baie van my boontjies op hierdie wyse, tesame met 'n eiendomme lêer definieer my waardes (vir hergebruik doeleindes). Wat gebruik word om te lyk soos hierdie

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

kry refactored in hierdie:

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

Hoekom doen jy nie net gebruik om 'n Double ? enige rede?

Spring 2.5 +

Jy kan boontjie definieer soos dit in Java config:

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

U kan hierdie boontjie soos hierdie gebruik in jou program:

@Autowired
Double doubleBean;

public void printDouble(){
    System.out.println(doubleBean); //sample usage
}
Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top