关于使用泽西岛和吉斯进行RESTful服务的实用建议
从我在网上找到的信息来看,自2008年以来,Guice + Jersey整合的最新技术一直停滞不前,当时两支球队似乎都陷入了僵局。问题的症结在于 JAX-RS 注释执行字段和方法注入,这与 Guice 自己的依赖注入并不相符。
我发现的几个例子不足以阐明:
Iqbalyusuf在Google App Engine Java上关于Jersey + Guice的帖子遭受了很多样板(手动获取和调用注入器)的影响。我希望绑定和注入应该通过Guice注释在幕后进行。
Jonathan Curran的文章《使用 Jersey、Guice 和 JSR-250 创建 RESTful 服务》给了我希望,因为它要时效得多(2010 年),但除了展示如何在 Guice ServletModule 中启动 Jersey 服务之外,别无他法。但是,没有进行任何真正的依赖注入的示例。我想这是留给读者的练习。事实上,Curran的帖子可能是将Guice和Jersey连接起来的正确第一步,所以我计划从这一点开始。
-
JAX-RS与依赖注入框架(如Spring,Guice,GuiceyFruit或JBossMC)配合得很好 - 你基本上可以选择任何一个你喜欢的框架。
但从从业者的角度来看,我没有看到任何证据是正确的。
我发现缺少的是如何组合 JAX-RS 和 Guice 注释的实际示例和解释。例如:
- 我相信我不能对任何资源使用构造函数注入,因为泽西岛想要控制这一点
- 我不确定我是否可以将@Inject与@PathParam,@QueryParam等人结合起来。
- 如何在 MessageBodyWriter 实现中使用注入
有没有人有例子,最好是有来源的,结合泽西岛和吉斯而不牺牲一个或另一个在此过程中的非平凡应用?无论如何,我一直在这条路上,但是泽西岛和吉斯名单上的零碎部分让我觉得我在重复在我之前的其他人的工作。