【发布时间】:2012-02-01 14:08:29
【问题描述】:
在我的 java 类中,我有:
@Autowired
@Qualifier("customerProviderExec")
private DefaultCustomerProvider customerProvider;
在我的上下文配置 XML 中
<bean id="customerProviderExec" class="my.package.DefaultCustomerProviderExecutor">
<property name="defaultCustomerProviderService" ref="customerProviderImpl" />
</bean>
<bean id="testCustomerProviderImpl" class="my.package.DefaultCustomerProviderTest">
<property name="customerProviderImpl" ref="customerProviderImpl" />
</bean>
<bean id="customerProviderImpl" class="my.package.DefaultCustomerProviderImpl">
...
</bean>
重要:类 DefaultCustomerProviderImpl 实现 DefaultCustomerProvider
当我尝试在我的 Java 类中执行时:
DefaultCustomerProviderExecutor executor = (DefaultCustomerProviderExecutor)this.getCustomerProvider();
return (DefaultCustomerProviderImpl) executor.getDefaultCustomerProviderService();
我得到错误:
原因:java.lang.ClassCastException:$Proxy17 无法转换为 my.package.DefaultCustomerProviderImpl
有人经历过这个吗?
【问题讨论】:
-
您可能使用 AOP 来执行一些横切关注点。在此处查看接受的答案:stackoverflow.com/questions/3852564/…