2009年DI之争进入白热化阶段。
?
- 2009年2月份,以红帽Gavin King负责的、在Web beans基础上的面向Java EE平台的上下文与依赖注入规范JSR299获得JCP通过,SpringSource、Nortel弃权,其他都投赞成票。最终融合JSR330后12月份发布。
- Google guice和SpringSource spring提出JSR330(面向Java的依赖注入)规范,开始打架了。
- Gavin King不得为现有的庞大的spring和guice用户基础让步,采用了JSR330的一样的注解。
- 2009年6月份,以Google guice和SpringSource spring为基础的JSR330(面向Java的依赖注入)获得通过,redhat和Nortel弃权,其他都投赞成票。10月份发布。
个人认为,JSR299和JSR330最终达成统一,JSR330最终采用JSR299的注解,是件好事。
但到底采用哪种方式更好?
- JSR299是针对JAVA EE开发的,参考实现为Weld;其依赖注入部分的注解也采用JSR330规范。
- JSR330是针对JAVA SE开发的,目前只有几个简单实用的 annoations;目前Spring,Guice已经开始兼容该规范;
- JSR330规范并未按 JSR 惯例发布规范文档,只发布了规范 API 源码;