小编Seb*_*rey的帖子

已在未在活动泽西错误范围中运行的代码中检测到HK2故障

目前我正在开发基于运动衫的RESTful应用程序,并希望在我的资源中使用DPI.(注意:jersey的版本是2.23.1,servlet容器是tomcat 8.5.3.)

因此,我遵循了球衣文档中的第23章自定义注入和生命周期管理教程,并创建了一个资源,一个工厂,并将工厂绑定到这样的类:

资源:

@Path("/{project}/catalogs")
public class ProjectsResource {

   @Inject
   Project project;

   ...
}
Run Code Online (Sandbox Code Playgroud)

厂:

public class ProjectFactory extends Factory<Project> {

  private final Cache cache = cache.getInstance();

  @PathParam("project")
  private String project;

  private HttpServletRequest request;

  @Inject
  public ProjectFactory(HttpServletRequest request) {
    this.request = request;
  }

  @Override
  public Project provide() {
    return cache.get(project, Project.class);
  }

  @Override
  public void dispose(Project instance) {}

}
Run Code Online (Sandbox Code Playgroud)

我还有一个功能,它注册一个AbstractBinder,它将我的ProjectFactory绑定到我的Project类.

@Provider
public class ProjectFeature implements Feature {

  @Override
  public boolean configure(FeatureContext context) {

    context.register(new AbstractBinder() {
      @Override
      protected …
Run Code Online (Sandbox Code Playgroud)

java dependency-injection jersey jersey-2.0 hk2

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

dependency-injection ×1

hk2 ×1

java ×1

jersey ×1

jersey-2.0 ×1