ОТКЛЮЧИТЬ АДБЛОК

ADBlock блокирует некоторый контент на сайте

ADBlock errore
Найдены результаты: 

Как создать пружинный компонент для двойного примитива Java?

StackOverflow https://stackoverflow.com/questions/59850

вопрос

Я хотел бы создать боб весны, который содержит значение double. Что-то вроде:

<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>

Если хотите, оставьте нам свое мнение

Была ли статья полезна и правильно ли она переведена?

ДРУГИЕ СОВЕТЫ

Стоит также отметить, что в зависимости от ваших потребностей определение собственного компонента может быть не лучшим выбором для вас.

<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 ? какая-либо причина?

Spring 2.5 +

Вы можете определить bean-компонент следующим образом в конфигурации Java:

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

Вы можете использовать этот компонент в своей программе следующим образом:

@Autowired
Double doubleBean;

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow