Xml Spring:java.util.Locale类型的bean的自动连接似乎不起作用
我正在为其他开发人员编写一个关于Spring(3.0.x)的非常简单的教程,遇到了一个奇怪的行为:java.util.Locale类型的bean没有自动连接到其他bean中,并且没有错误消息。但是,仍然会创建另一个bean,只是字段为null 详情如下:Xml Spring:java.util.Locale类型的bean的自动连接似乎不起作用,xml,spring,javabeans,autowired,Xml,Spring,Javabeans,Autowired,我正在为其他开发人员编写一个关于Spring(3.0.x)的非常简单的教程,遇到了一个奇怪的行为:java.util.Locale类型的bean没有自动连接到其他bean中,并且没有错误消息。但是,仍然会创建另一个bean,只是字段为null 详情如下: 配置完全基于XML Bean定义如下: <bean id="spanishLocale" class="java.util.Locale"> <constructor-arg value="es"/>
- 配置完全基于XML
- Bean定义如下:
<bean id="spanishLocale" class="java.util.Locale"> <constructor-arg value="es"/> <constructor-arg value="ES"/> </bean> <bean id="dateTimeBeanSetter" class="com.bsl.training.theclock.SimpleDateTimeBean3" autowire="byType"/>
- 如果我向SimpleDateTimeBean3类中添加一个字段,该类是我自己的类之一,并且存在这样的bean,那么一切都可以完美地工作李>
- 不会打印错误,这两个bean(spanishLocale、dateTimeBeanSetter)都已创建并可从ApplicationContext访问,但对“dateTimeBeanSetter”bean调用getDateTime()会产生NPE
提前感谢。两个关键文档片段: 参考手册第3.4.5.1节: 不能自动关联所谓的简单属性,如原语、字符串和类(以及此类简单属性的数组)。这种限制是故意的 从org.springframework.beans.BeanUtils#isSimpleProperty()javadoc: 检查给定类型是否表示“简单”属性:原语、字符串或其他字符序列、数字、日期、URI、URL、区域设置、类或相应的数组。检查给定类型是否表示“简单”属性:原语、字符串或其他字符序列、数字、日期、URI、URL、区域设置、类,或相应的数组
所以,按设计工作。哪些开发人员?您在哪里指定要启用自动布线?谢谢。。。虽然我不知道为什么语言环境或URL会被这样对待。对此有何想法?:)拉法尔import java.text.DateFormat; import java.util.Date; import java.util.Locale; public class SimpleDateTimeBean3 { private Locale locale; public SimpleDateTimeBean3() { } public void setLocale(final Locale loc) { locale = loc; } public Locale getLocale() { return locale; } public String getDateTime() { DateFormat df = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL, locale); return df.format(new Date()); } }