`

2009依赖注入DI之争: Web beans~JSR299和Spring& Guice~JSR330

阅读更多

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 源码;
1
1
分享到:
评论

相关推荐

    webbeans--jsr-299

    WebBeans(JSR-299)的核心在于它为Java EE平台引入了一种新的编程模型,该模型通过上下文和依赖注入来简化组件之间的交互。**合同**定义了容器必须提供的服务,以及开发者可以利用的API。 #### 二、与其它规范的...

    spring-beans-5.0.10.RELEASE-API文档-中文版.zip

    赠送Maven依赖信息文件:spring-beans-5.0.10.RELEASE.pom; 包含翻译后的API文档:spring-beans-5.0.10.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework:spring-beans:5.0.10.RELEASE...

    webbeans_reference

    WebBeans是Java平台上的一个依赖注入框架,它遵循JSR-299规范,为Java EE应用程序提供了一种更加灵活、可扩展的依赖注入机制。它不仅简化了Java EE开发过程中的对象管理和生命周期管理,还提供了事件驱动编程模型,...

    spring-beans-5.2.0.RELEASE-API文档-中英对照版.zip

    赠送Maven依赖信息文件:spring-beans-5.2.0.RELEASE.pom; 包含翻译后的API文档:spring-beans-5.2.0.RELEASE-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.springframework:spring-beans:5.2.0....

    spring-beans-5.2.0.RELEASE-API文档-中文版.zip

    赠送Maven依赖信息文件:spring-beans-5.2.0.RELEASE.pom; 包含翻译后的API文档:spring-beans-5.2.0.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework:spring-beans:5.2.0.RELEASE; ...

    spring3零配置注解实现Bean定义(包括JSR-250、JSR-330)

    - **JSR-330**:又称为Dependency Injection for Java (DI4J),提供了`@Inject`注解用于依赖注入,这与Spring的`@Autowired`类似,但在标准Java库中可用。 通过这些注解,可以在类上直接标记,而无需显式地在XML...

    webbeans 入门手册

    WebBeans是Apache软件基金会开发的一个实现JSR-299(后来成为JSR-346)的开源项目,它是JavaEE6和更高版本中CDI规范的一种实现。CDI的主要目标是简化企业级Java应用的组件管理和依赖注入,使代码更易于测试、维护和...

    Spring 控制反转 依赖注入

    **Spring 框架中的控制反转 (IoC) 和依赖注入 (DI)** 在软件开发中,控制反转(Inversion of Control,简称IoC)是一种设计原则,它将对象的创建和管理权从代码中剥离出来,转交给一个外部容器(如Spring框架)。...

    spring-framework-5.3.23 源码

    它为构建企业级应用程序提供了全面的支持,包括依赖注入、面向切面编程(AOP)、数据访问、事务管理、Web应用程序和更多功能。在5.3.23版本中,Spring Framework继续优化性能和稳定性,并修复了一些已知问题。 首先...

    webbeans(weld1.0)完全教程

    WebBeans,也称为Weld,是Java企业版(Java EE)中的一个核心组件,它是JSR-299规范的实现,主要负责依赖注入(Dependency Injection, DI)和上下文及会话管理(Contexts and Dependency Injection, CDI)。...

    spring依赖注入

    Spring依赖注入是Spring框架的核心特性之一,它使得对象之间的依赖关系得以解耦,增强了代码的可测试性和可维护性。依赖注入(Dependency Injection,简称DI)的理念是,一个对象不应该负责寻找并创建它所依赖的对象...

    spring-beans-5.1.3.RELEASE-API文档-中文版.zip

    赠送Maven依赖信息文件:spring-beans-5.1.3.RELEASE.pom; 包含翻译后的API文档:spring-beans-5.1.3.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework:spring-beans:5.1.3.RELEASE; ...

    spring-beans-4.3.12.RELEASE-API文档-中文版.zip

    赠送Maven依赖信息文件:spring-beans-4.3.12.RELEASE.pom; 包含翻译后的API文档:spring-beans-4.3.12.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework:spring-beans:4.3.12.RELEASE...

    spring依赖注入bean

    Spring 框架的核心特性之一就是依赖注入(Dependency Injection,简称 DI),这是一种设计模式,它允许我们控制组件之间的耦合,而不是让组件自行创建它们所依赖的对象。这有助于提高代码的可测试性、可维护性和灵活...

    spring-beans-5.2.7.RELEASE-API文档-中文版.zip

    赠送Maven依赖信息文件:spring-beans-5.2.7.RELEASE.pom; 包含翻译后的API文档:spring-beans-5.2.7.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework:spring-beans:5.2.7.RELEASE; ...

    spring-beans-5.0.5.RELEASE-API文档-中英对照版.zip

    赠送Maven依赖信息文件:spring-beans-5.0.5.RELEASE.pom; 包含翻译后的API文档:spring-beans-5.0.5.RELEASE-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.springframework:spring-beans:5.0.5....

    Spring 依赖注入

    ### Spring 依赖注入详解 #### 一、依赖注入(DI)概述 依赖注入(Dependency Injection,简称 DI)是一种设计模式,旨在减少代码间的耦合度并简化对象的创建过程。这种模式通过将对象间的依赖关系从对象内部转移...

    spring-beans-5.2.15.RELEASE-API文档-中文版.zip

    赠送Maven依赖信息文件:spring-beans-5.2.15.RELEASE.pom; 包含翻译后的API文档:spring-beans-5.2.15.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework:spring-beans:5.2.15.RELEASE...

Global site tag (gtag.js) - Google Analytics