Java 从Spring应用程序上下文获取bean时发生ClassCastException,但在自动连接时发生
我不明白,我有一个典型的消息来源Java 从Spring应用程序上下文获取bean时发生ClassCastException,但在自动连接时发生,java,spring,casting,Java,Spring,Casting,我不明白,我有一个典型的消息来源 <bean id="resource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basenames"> <list> <value>content.Language</value> </list&
<bean id="resource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>content.Language</value>
</list>
</property>
</bean>
但当我试图从应用程序上下文中通过casting获得它时,我得到了一个cast异常
autowire和从应用程序上下文获取bean有何不同
(MessageSource) _applicationContext.getBean(name);
java.lang.ClassCastException: org.springframework.context.support.ResourceBundleMessageSource cannot be cast to org.springframework.context.MessageSource
它实现了接口,为什么不能将其转换为它?我打赌这是一个类加载器问题,很可能您正在使用不同的类加载器来加载该bean。因为没有其他正当的理由让这种情况发生
(MessageSource) _applicationContext.getBean(name);
java.lang.ClassCastException: org.springframework.context.support.ResourceBundleMessageSource cannot be cast to org.springframework.context.MessageSource