我是使用Spring进行依赖注入的新手,并且面临着一个看似具有挑战性的场景。
我的应用程序通过普通老套接字从遗留系统接收数据,对数据执行有趣的事情(tm),然后使用嵌入式Jetty实例通过HTML5 Web套接字输出真正有趣的结果(tm)。此外,Jetty服务器托管了一个Jersey servlet,它为所有有趣的东西(tm)提供了一个RESTful接口。
我想使用Spring将共享DAO和应用程序服务对象注入到遗留端和我的Jersey资源中。这需要在遗留组件和Jersey之间共享ApplicationContext。在配置嵌入式Jetty服务器时,我似乎需要创建应用程序上下文,将其连接到我的遗留组件,然后将应用程序上下文传递给Jersey ServletContext (我目前正在通过编程进行此操作)。
不幸的是,我不清楚如何将现有的应用程序上下文传递到Jersey ServletContext中。这是可以做到的吗?有没有更好的方法?
我想指出的是,这与我在SO上找到的其他Jersey + Jetty + Spring问题不同,这些问题不需要在Jersey之外共享应用程序上下文。
发布于 2012-05-09 20:56:46
我假设您启动Jetty的代码类似于:
Server server = new Server(...);
server.setHandler(new WebAppContext(...));您可以从WebAppContext获取ServletContext并在其上设置SpringContext:
WebAppContext wac = new WebAppContext(...);
ServletContext sc = wac.getServletContext();
sc.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, springContext);https://stackoverflow.com/questions/10501416
复制相似问题