我正在尝试做这样的事情:
<bean id="myBean" class="com.example.SomeThing">
<property name="longValue">
<bean class="java.lang.Long">
<constructor-arg value="0x0418a14372d4186eL" type="long"/>
</bean>
</property>
</bean>
但这会导致以下异常:
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'java.lang.Long#19190b75' defined in file [/apollo/env/path/to/config.xml]: Unsatisfied dependency expressed through constructor argument with index 0 of type [java.lang.String]: Ambiguous constructor argument types - did you specify the correct bean references as constructor arguments?
最佳答案
我想你想要factory-method
<bean>
的参数:
<bean id="myBean" class="com.example.SomeThing">
<property name="longValue">
<bean class="java.lang.Long" factory-method="decode">
<constructor-arg value="0x0418a14372d4186" />
</bean>
</property>
</bean>
(请注意缺少“L”后缀。)
关于java - 如何在 Spring XML 配置中将 long 设置为十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14902220/