【发布时间】:2014-01-15 00:58:44
【问题描述】:
问题:
我正在尝试将服务注入 bean,但服务实例始终为空。
背景:
我有两个豆子,一个叫另一个。这是它们在 XML 配置中的定义方式:
<context:annotation-config />
<bean class="com.test.MyBeanImpl" name="myBean"/>
<bean id="myService" class="com.test.MyServiceImpl" />
bean 的实现方式如下:
MyServiceImpl.java
class MyServiceImpl implements MyService {
public void getString() {
return "Hello World";
}
}
MyBeanImpl.java
@Component
class MyBeanImpl implements MyBean, SomeOtherBean1, SomeOtherBean2 {
@Resource(name="myBean")
private MyService myService;
public MyBeanImpl() {}
}
问题:
是否有某些原因与我的 bean 实现了 3 个阻止服务被注入的接口有关?如果不是,还有哪些其他因素会影响它?
【问题讨论】:
-
您能否发布您尝试注入
MyService的类的类声明以及整个配置? -
我已更新 OP 以包含更多信息。基本上我在 MyService 接口或实现类中没有注释。干杯
-
如果你的 bean 配置文件不包含
<context:annotation-config/>我不相信@Resource会起作用。请参阅我发布的要点。我已经测试过了,它可以工作。如果它不能满足您的需求,请告诉我您的情况有何不同,我会修改。 -
我已将 OP 更新为更清晰
标签: java spring dependency-injection