对于测试,我希望在调用.refresh()
之前用模拟替换上下文中的bean。
目前我有这个:
new BeanPostProcessor() {
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
if (bean.getClass().isAssignableFrom(mock.getClass())) {
return mock;
} else {
return bean;
}
}
@Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
return bean;
}
}
@Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
return bean;
}
}
这似乎有用 - 但看起来/感觉不太好。
有没有Spring方法可以做到这一点?我不使用XML,限定符,个人资料但不希望这样做。我使用的是Spring 4.1.2。
我也希望避免使用Primary注释,因为我认为它可能会变得混乱。