Java Jersey配置未标识服务和dao类

Java Jersey配置未标识服务和dao类,java,spring,dependency-injection,jersey,Java,Spring,Dependency Injection,Jersey,这是我的课程 @ApplicationPath("services") public class JerseyApplication extends ResourceConfig{ public JerseyApplication() { packages("com.ems"); register(EmployeeService.class); } } 这里,employeeService的自动连线给出

这是我的课程

@ApplicationPath("services")
    public class JerseyApplication extends ResourceConfig{
    public JerseyApplication() {

            packages("com.ems");

            register(EmployeeService.class);
        }
    }
这里,employeeService的自动连线给出了一个空指针异常

@Path("/ems")
@Component
public class EmployeeRestController {

    @Autowired
    private EmployeeService employeeService;

    @GET
    @Path("/employees")
    @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
    public List<Employee> getEmployees() {
        return employeeService.getEmployees();
    }
}
我什么都试过了 在我的employeeServiceImpl中,我有@service注释
但是,它仍然不起作用

您应该注册控制器而不是服务类。


要使用内置DI框架HK2配置依赖项注入,应该使用AbstractBinder,如中的一些答案所述

其次,您不使用@Autowired注释。此注释专门用于Spring。对于Jersey的标准注入,只需使用@Inject注释。还要删除@Component注释,因为这也是Spring的注释


另外,如果你真的想把Spring和Jersey结合起来,你应该阅读。它将分解您需要了解的关于集成这两个框架的内容。

您了解注入吗?因为问题在于它没有执行依赖项的注入
@ApplicationPath("services")
    public class JerseyApplication extends ResourceConfig{
    public JerseyApplication() {

            packages("com.ems");

            register(EmployeeRestController.class);
        }
    }
@ApplicationPath("services")
public class JerseyApplication extends ResourceConfig {

    public JerseyApplication() {

        packages("com.ems");

        register(new AbstractBinder() {
            @Override
            protected void configure() {
                bind(EmployeeService.class)
                        .to(EmployeeService.class)
                        .in(Singleton.class);
            }
        });
    }
}