Spring 春季运动衫+;码头挑战赛

Spring 春季运动衫+;码头挑战赛,spring,dependency-injection,jetty,jersey,Spring,Dependency Injection,Jetty,Jersey,我不熟悉依赖注入w/Spring,并且面临着一个看似具有挑战性的场景 我的应用程序通过普通的旧套接字从遗留系统接收数据,用数据做有趣的事情(tm),然后使用嵌入式Jetty实例通过HTML5Web套接字输出真正有趣的结果(tm)。此外,Jetty服务器托管一个Jersey servlet,该servlet为所有这些有趣的东西(tm)提供一个RESTful接口 我希望使用Spring将共享DAO和应用程序服务对象注入到遗留端和Jersey资源中。这需要在遗留组件和应用程序之间共享Applicati

我不熟悉依赖注入w/Spring,并且面临着一个看似具有挑战性的场景

我的应用程序通过普通的旧套接字从遗留系统接收数据,用数据做有趣的事情(tm),然后使用嵌入式Jetty实例通过HTML5Web套接字输出真正有趣的结果(tm)。此外,Jetty服务器托管一个Jersey servlet,该servlet为所有这些有趣的东西(tm)提供一个RESTful接口

我希望使用Spring将共享DAO和应用程序服务对象注入到遗留端和Jersey资源中。这需要在遗留组件和应用程序之间共享ApplicationContext。似乎我需要创建应用程序上下文,将其连接到遗留组件,然后在配置嵌入式Jetty服务器时将应用程序上下文传递到Jersey ServletContext(我目前正在编程)

不幸的是,我不清楚如何将现有的应用程序上下文传递到Jersey ServletContext。能做到吗?有更好的方法吗


我想指出的是,这不同于我在SO上发现的其他Jersey+Jetty+Spring问题,它们不需要在Jersey之外共享应用程序上下文。

我假设您启动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);