【发布时间】:2014-08-22 02:43:09
【问题描述】:
应用程序上下文
<bean id="contentRegisteringBean" parent="abstractRegisteringBean" lazy-init="false">
<property name="processor">
<bean class="com.somepackage.ContentService$Processor"/>
</property>
</bean>
<bean id="abstractRegisteringBean" class="test.spring.MockFactoryBean">
<property name="type" value="com.somepackage.ProcessorRegisteringBeanImpl"/>
</bean>
ProcessorRegisteringBeanImpl
public class ProcessorRegisteringBeanImpl {
private Processor mProcessor;
public Processor getProcessor() {
return mProcessor;
}
public void setProcessor(final Processor processor) {
mProcessor = processor;
}
}
MockFactoryBean.java
public class MockFactoryBean<T> implements FactoryBean<T> {
private Class<T> type;
public void setType(Class<T> type) {
this.type = type;
}
@Override
public T getObject() throws Exception {
return Mockito.mock(type);
}
@Override
public Class<T> getObjectType() {
return type;
}
@Override
public boolean isSingleton() {
return true;
}
}
例外:
org.springframework.beans.NotWritablePropertyException: 无效 bean 类的属性“处理器” [test.spring.MockFactoryBean]:Bean 属性“处理器”是 不可写或具有无效的 setter 方法。参数类型是否 setter 的返回类型是否与 getter 的返回类型匹配?
【问题讨论】:
-
什么是
MockFactoryBean? -
@axtavt 请查看更新的问题
标签: java spring dependency-injection spring-test spring-test-mvc