Rest Jersey依赖项注入不起作用

Rest Jersey依赖项注入不起作用,rest,dependency-injection,jersey,jersey-2.0,hk2,Rest,Dependency Injection,Jersey,Jersey 2.0,Hk2,我正在尝试向我的Rest服务控制器注入依赖项,该控制器使用Jersey实现, 这是我的控制器 @Path("service") public class ServiceProviderController { @Inject private ServiceProviderService prov; public ServiceProviderController(){} @GET @Produces(MediaType.APPLICATION_JSON) Public Servi

我正在尝试向我的Rest服务控制器注入依赖项,该控制器使用Jersey实现,
这是我的控制器

@Path("service")
public class ServiceProviderController {
 @Inject
 private ServiceProviderService prov;

 public ServiceProviderController(){}

 @GET
 @Produces(MediaType.APPLICATION_JSON)
 Public ServiceProviders testService(@QueryParam("name") String name) {
    prov.getName(name);
    return name;
 }
这是活页夹类

   import org.glassfish.hk2.utilities.binding.AbstractBinder;
   import com.api.controller.ServiceProviderController;
   import com.api.service.ServiceProviderService;
    public class APIBinder extends AbstractBinder {
    @Override
    protected void configure() {   
      bindAsContract(ServiceProviderService.class).to(ServiceProviderController.class);
    } }
这是应用程序类

import org.glassfish.jersey.server.ResourceConfig;
public class MyApplication extends ResourceConfig {

    public MyApplication(){
        register(new APIBinder());
        packages(true, "com.api.service");
    }
}
我是这样从主方法调用它的

MyApplication app = new MyApplication();
错误是

org.glassfish.hk2.api.UnsatisfiedDependencyException: There was no object available for injection at SystemInjecteeImpl(requiredType=ServiceProviderService,parent=ServiceProviderController,qualifiers={},position=-1,optional=false,self=false,unqualified=null,912348460)
请帮我把这个修好

非常感谢

能源监管局

添加了一个工厂实现,仍然没有得到修复相同的错误弹出

    public class APIBinder extends AbstractBinder implements Factory<ServiceProviderService> {

    @Override
    protected void configure() {
        // TODO Auto-generated method stub
        bindFactory(this).to(ServiceProviderService.class);
    }

    public ServiceProviderService provide() {
        ServiceProviderService sp= new ServiceProviderService();
        return sp;
    }

    public void dispose(ServiceProviderService instance) {
        // TODO Auto-generated method stub

    }
}
公共类APIBinder扩展AbstractBinder实现工厂{
@凌驾
受保护的void configure(){
//TODO自动生成的方法存根
bindFactory(this.to)(ServiceProviderService.class);
}
公共服务提供者服务提供者(){
ServiceProviderService sp=新的ServiceProviderService();
返回sp;
}
public void dispose(ServiceProviderService实例){
//TODO自动生成的方法存根
}
}

您可以创建工厂。请参阅此线程以获取解释


删除到(ServiceProviderController.class)已删除仍不可用您是否有任何web.xml配置?只是想知道你的
MyApplication
类是否被使用。你能确认吗?不,我正在用Grizzly服务器运行应用程序,所以有一个主要的启动方法,在它里面我放置了“MyApplication app=new MyApplication()”对象创建添加工厂实现,如上所述,但仍然没有得到修复。发生了相同的错误