【发布时间】:2015-05-20 11:25:45
【问题描述】:
我有一个像下面这样的单例服务类。
@Service
public class SingletonClass{
@Autowired
private ContextProvider provider;
public Context run(){
context = provider.createContext();
updateContext(context)
}
ContextProvider 类:
public abstract class ContextProvider implements MyInterface{
public abstract Context createContext();
}
配置:
<bean name="provider"
class="xyz.s.s.ContextProvider" >
<lookup-method name="createContext"
bean="someBean" />
</bean>
<bean id="somebean" class="com.x.y.someclass" />
<bean id="singletonService" class="com.x.y.SingletonClass" />
当我尝试使用 Junit 运行上述内容时 ->而不是按需创建查找 bean,我收到以下错误
org.springframework.beans.factory.BeanCreationException: 使用者:java.lang.AbstractMethodError 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeAwareMethods(AbstractAutowireCapableBeanFactory.java:1585) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1553) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
看起来,查找方法注入在我的情况下不起作用
【问题讨论】:
-
你
@RunWith(SpringJUnit4ClassRunner.class)吗? -
是的。 Junit有什么问题吗?
标签: spring dependency-injection