首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在泽西岛使用HK2将依赖项注入ServletContextListener

在泽西岛使用HK2将依赖项注入ServletContextListener
EN

Stack Overflow用户
提问于 2017-06-22 13:34:21
回答 1查看 863关注 0票数 5

为了在启动时初始化应用程序,我扩展了ServletContextListener

代码语言:javascript
复制
@WebListener
public class MyServletContextListener implements javax.servlet.ServletContextListener {

    @Override
    public void contextInitialized(ServletContextEvent sce) {
        ... initialization code here
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {}
}

现在,我想将初始化逻辑提取到一个独立的StartupManager类中,并从MyServletContextListener委托给这个类

代码语言:javascript
复制
public class StartupManager {

    public void performStartup() {
        ... initialization code here
    }
}

我试图通过简单地添加@Inject注释将StartupManager注入到ServletContextListener中:

代码语言:javascript
复制
@WebListener
public class MyServletContextListener implements javax.servlet.ServletContextListener {

    @Inject StartupManager mStartupManager;

    @Override
    public void contextInitialized(ServletContextEvent sce) {
        mStartupManager.performStartup();
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {}
}

这不起作用-调用contextInitialized(ServletContextEvent )时引用为null。

然后我想我可能需要注册一个活页夹:

代码语言:javascript
复制
@ApplicationPath("")
public class MyResourceConfig extends ResourceConfig {

    public MyResourceConfig() {
        register(new DependencyInjectionBinder());
    }
}

public class DependencyInjectionBinder extends AbstractBinder {
    @Override
    protected void configure() {
        bind(StartupManager.class).to(StartupManager.class);
    }
}

这也不起作用。

我的问题是如何将依赖注入到ServletContextListener中?最好是构造函数注入,但是字段注入也是可以的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-22 15:51:32

这是行不通的,因为servlet侦听器和Jersey没有链接到同一个系统。作为另一种选择,你可以使用泽西的Event Listeners。您可以实现一个ApplicationEventListener,在其中您可以像在servlet侦听器中一样进行初始化和清理。您将能够将您的服务注入Jersey的listener。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44690898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档