首页 文章

IPojo - @Reference不注入服务

提问于
浏览
4

在一个包中有接口IService,由ServiceImpl类实现:

public interface IService
{
    void doSomething();
}

@Component
@Provides
@Instantiate
public class ServiceImpl implements IService
{
    public void doSomething()
    {
    }
}

在第二个包中,我使用第一个包中提供的服务,使用另一个类ServiceConsumer(一个GoGo shell命令;不包括特定的注释):

@Component
@Provides
@Instantiate
public class ServiceConsumer
{
    @Requires
    private IService service;

    public doIt()
    {
        service.doSomething();
    }

}

当我在Felix中导入并启动两个bundle时,我可以看到我的所有服务都使用ipojo:instance正确实例化,而ServiceImpl提供了IService . 但是,当执行doIt()时,service为null .

由于IService似乎可用,我希望@Requires注入好的实例,但似乎没有这样做 .

我觉得我有一些非常明显的事情,但我不知道是什么 .

2 回答

相关问题