规范化中的 JSR 299 与可能到来的 JSR 330
转载请保留作者信息:
作者:88250
Blog:http:/blog.csdn.net/DL88250
MSN & Gmail & QQ:DL88250@gmail.com
目前,JSR 299(Contexts and Dependency Injection for Java EE) 处于社区评审状态 ,预计今年 9 月会出现在 Java EE 6 规范中。JSR 330(Dependency Injection for Java )是一个提交中的规范。还没有规范文件可以下载到。
299 的 Lead 是来自 JBoss / RedHat 的 Gavin King(Hibernate / Seam Lead),330 的 Lead 是来自 Google 的 Bob Lee(Guice Lead)以及 Spring。两位都是做技术的,私下也是好朋友。
不过,从规范名就可以看出其中的冲突.... 都是 DI,这个让整个 Java 社区都感到困惑了,我们需要两套 DI 标准?
Gavin 在 5 月 7 日的博文 中称述了他的看法,一石激起千层浪....两个 Lead 互相做了技术评判:Gavin 是典型的 Java EE 拥护者;而 Bob Lee 则是 Java SE 的捍卫者。
在一系列的回复中,Gavin 不改以往本色,快人快语,对 330 的提出表示了极大的不满,认为规范多余了,其涉及的功能 299 都覆盖了,而且做得更好。并且笑话了 Bob 提交的规范竟然是一些 JavaDocs ....
Bob 做了一些回答,并说是 Gavin 没看懂 330 规范.... 不过,Bob 确实是 SE 的捍卫者,说了 EJB 种种不是,也对即将到来的 Java EE 6 中的 EJB Lite 表示了质疑。不过 Bob 对 JSR 294(Improved Modularity Support in the JavaTM Programming Language)倒是满怀信心 :-)
5 月 19 日,Gavin 重新发布了一个 299 的社区评审版 ,将规范名改为 For JavaEE 了,看来还是坚定 EE 路线,对 Bob 的规范持:“我做我的,你做你的,走着瞧” 态度。
Java 阵营这边历来都是那么动荡,不是规范实现没人用就是没有规范。对于开发者来说,如果盲目跟从则容易迷失自我。所以,笔者建议在 IoC / DI 上还是用自己拿手的那套,299 / 330 持观望态度 :-)