我没有得到这个,我有一个典型的messageSource
<bean id="resource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>content.Language</value>
</list>
</property>
</bean>
我可以像
那样得到它@Autowire protected MessageSource resource;
但是当我尝试从应用程序上下文中将其转换为MessageSource时,我得到了一个强制转换异常
自动装配和从应用程序上下文获取bean的方式有何不同?
(MessageSource) _applicationContext.getBean(name);
java.lang.ClassCastException: org.springframework.context.support.ResourceBundleMessageSource cannot be cast to org.springframework.context.MessageSource
它实现了接口,为什么它不能被强制转换为它?
答案 0 :(得分:1)
我敢打赌这是一个类加载器问题,你很可能正在使用不同的类加载器来加载该bean。因为没有其他正当理由发生这种情况。