gpt4 book ai didi

java - 从 Spring 应用程序上下文获取 bean 时出现 ClassCastException,但在 Autowiring 时则不会出现 ClassCastException

转载 作者:行者123 更新时间:2023-12-01 15:52:51 32 4
gpt4 key购买 nike

我不明白,我有一个典型的消息源

<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 时,我收到强制转换异常

Autowiring 和从应用程序上下文获取 bean 有何不同?

(MessageSource) _applicationContext.getBean(name);

java.lang.ClassCastException: org.springframework.context.support.ResourceBundleMessageSource cannot be cast to org.springframework.context.MessageSource

它实现了接口(interface),为什么不能转换为它?

最佳答案

我敢打赌这是一个类加载器问题,您很可能正在使用不同的类加载器来加载该 bean。因为没有其他正当理由导致这种情况发生。

关于java - 从 Spring 应用程序上下文获取 bean 时出现 ClassCastException,但在 Autowiring 时则不会出现 ClassCastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5670312/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com