too*_*ear 65 java jax-rs jersey guice jsr330
从我在网上看到的情况来看,Guice + Jersey整合的最新技术水平自2008年以来一直停滞不前,似乎两支球队都陷入了僵局.问题的关键在于JAX-RS注释执行字段和方法注入,这与Guice自己的依赖注入不能很好地协作.
我发现的一些例子远远不足以阐明:
Iqbalyusuf 在Google App Engine上发布关于Jersey + Guice的帖子Java遭受了大量的样板(手动获取和调用注入器).我希望绑定和注入应该通过Guice注释在幕后发生.
Jonathan Curran的文章使用Jersey,Guice和JSR-250创建一个RESTful服务给了我希望,因为它更新(2010),但没有比显示如何在Guice ServletModule中启动Jersey服务更进一步.但是,没有任何实例依赖注入的例子.我想这是留给读者的练习.Curran的帖子实际上可能是连接Guice和Jersey的正确的第一步,所以我打算从那开始.
令人着迷的詹姆斯斯特拉坎写道:
JAX-RS适用于依赖注入框架,如Spring,Guice,GuiceyFruit或JBossMC - 你基本上可以选择你喜欢的任何一个.
但是,从实践者的角度来看,我没有看到任何证据.
我发现缺少的是关于如何组合JAX-RS和Guice注释的实际示例和解释.例如:
有没有人有一些非平凡的应用程序的例子,最好是源代码,它结合了Jersey和Guice,而不会在这个过程中牺牲一个或另一个?无论如何我都会坚持这条道路,但泽西和吉斯的名单上的点点滴滴让我觉得我正在重复在我面前的其他人的工作.
小智 53
Guice与泽西的整合并没有停滞不前.反之亦然.感谢Paul和他在Jersey后面的同伙,最新的1.7版本包含一个特殊的JerseyServletModule类,可以与基于Guice的servlet一起使用.基于Guice的构造函数注入到JAX-RS资源中的工作原理!问题是在JAX-RS资源的构造函数中使用JAX-RS注释,例如@QueryParam.你不需要它!你使用Guice进行POJO注射,包括单身.然后,JAX-RS就像解析基于HTTP的RESTful API(例如URL路径,查询参数,内容类型等)一样锦上添花.您也不需要"工业强度"示例.Guice和Jersey都已经过战斗测试.您只需要一个完整的工作示例即可了解其工作原理.然后,您可以自己试验高级功能.查看以下链接,了解使用Guice 3.0和Jersey 1.7的完整示例,这些都是最新版本:http:
//randomizedsort.blogspot.com/2011/05/using-guice-ified-jersey-in-embedded.html
小智 21
我在这里创建了一个Guice/Jersey/Jetty/Jackson示例应用程序:
http://github.com/sunnygleason/j4-minimal
如果您对如何改进示例有任何疑问或建议,请随时通过github给我发消息.目标是使其成为Java堆栈上REST的非常容易获得的介绍.
希望这有帮助 - 祝你有个美好的一天!
-Sunny
小智 9
受Sunnys示例应用程序的启发,我创建了一个类似的示例项目,该项目使用标准WAR文件进行部署,例如在Apache Tomcat中.你可以在这里找到这个项目:
https://github.com/danbim/template-guice-jersey-tomcat
玩得开心!丹尼尔
| 归档时间: |
|
| 查看次数: |
31446 次 |
| 最近记录: |