@javax.inject.Inject,新的注入依赖规范

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/binsdream/article/details/84438063

Announcing @javax.inject.Inject

 
I'm proud to announce a new dependency injection specification backed by both Google Guice and Spring. You can catch the official announcement over on the Google Code Blog:

 

Five years ago, Spring 1.0 brought Java dependency injection into the mainstream. Three years later, Google Guice 1.0 introduced annotation-based dependency injection and made Java programming a little easier. Since then, developers have had to choose between a) writing external configuration or b) importing vendor-specific annotations.

Today, we hope to give developers the best of both worlds. Google Guice and SpringSource have partnered to standardize a proven, non-controversial set of annotations that make injectable classesportable across frameworks. At the moment, the set of specified annotations consists of:

  • @Inject - Identifies injectable constructors, methods, and fields
  • @Qualifier - Identifies qualifier annotations
  • @Scope - Identifies scope annotations
  • @Named - String-based qualifier
  • @Singleton - Identifies a type that the injector only instantiates once
One additional interface is specified for use in conjunction with these annotations:
  • Provider - Provides instances of a type T. For any type T that can be injected, you can also inject Provider.
You can check out an early draft of the specification. We deliberately left external dependency configuration out, so as not to quash ongoing innovation. We haven't formally submitted this standard to the JCP yet, but we plan to do so shortly. Standards wonks can read a draft of ourJSR proposal.

The expert group will be inclusive and will work in the open. For example, our mailing list is publicly readable, and we host the specification at Google Code. Several industry players have already expressed interest in supporting this effort. Contact us if you'd like to help out.

This specification will address the last shortcoming of annotation-based dependency injection. You no longer have to import vendor-specific annotations.

Our hope is that this specification will not only improve interoperability between existing dependency injection frameworks and unify the Java community, but it will also lower the barrier to entry for new injector implementations and foster even more innovation in this space.

I'd like to thank Paul Hammant, Doug Lea, Tim Peierls, James Strachan, Hani Suleiman, and Jason van Zyl for their early reviews and official support. Special thanks goes to our partner in this endeavor SpringSource, especially Rod Johnson, and my fellow Googlers and Guicers Josh Bloch, Jesse Wilson, Kevin Bourrillion, and Dhanji Prasanna.

 

@javax.inject.Inject,一个新的注入依赖规范,既能支持Google Gucie,还能支持Spring。你可以在Google Code的博客上查看官方发布:

五年前,Spring 1.0将依赖注入带入主流。三年后,Google Guice 1.0推出了基于annotation的依赖注入,这使得Java编程变得更轻松。从此之后,开发者只能有两种选择:a)编写外部配置 b)导入vendor-specific 说明

今天,我们为开发者提供了一个两全其美的选择。Google Gucie和SpringSource已经建立了合作的关系,让注入类在框架中的使用更加简便。

具体说明如下:

    * @Inject - Identifies injectable constructors, methods, and fields
    * @Qualifier - Identifies qualifier annotations
    * @Scope - Identifies scope annotations
    * @Named - String-based qualifier
    * @Singleton - Identifies a type that the injector only instantiates once

 

展开阅读全文

[新手板] 规范征集

01-10

新手乐园名新手服务对象是所有c/c++社区的用户。为提高本板快的质量,我对本板块的提问和回答做了一些要求,我本意不在限制大家的自由,只是在于提高板块的质量,促进初学者之间的真正的交流,打造一个良好的讨论氛围。rn鉴于当前风气我觉得有必要制定一些属于本板块的规范约束某些成员。希望大家参与制定rnrn提问者:rn1. 严禁倒分贴rn2. 严禁广告,招聘等类似主题的帖子和连接rn3. 请勿提问与技术无关的话题,如失恋散分等类似话题。请自觉移到非技术rn [允许学习感悟等有启示性的0分贴]rn4. 严禁求书贴,如散分100求***书... 自觉移动到非技术区rn5. 请不要提问与c/c++无关的技术话提,自觉转移到"其他问题"rn6. 本板严禁出现求源码的帖子。 rn7. 严禁在问题中出现性别等与技术问题无关的内容。在技术区提问者只需要把问题描述描述清晰完全。rn 如: 小妹提问****希望高手解答...rn8. 请勿提问未经过自己大脑思考的问题或作业帖。rn 例如: 只贴一段代码无任何信息rn 例如: 只有几句原话,无任何自己的解释,需求内容rn ...rn rn 对于提问者: 应该有自己的观点,有完整的问题信息描述。rn 比如你程序出错,你帖出自己认为出错的可能情况,自己试图怎么解决,出错信息..rn 而不是只有一个我程序错大家帮忙的字样。要知道你自己分析越清楚,信息描述越rn 清晰,别人解答的时间越短。rn rn 对于作业帖做点补充: 鉴于在校学生或许有些能力不足,可以要求别人完成部分源码rn 但是你要在自己的帖子中积极的思考分析,对于得到的可行回答做出技术性的解释。rn 例如: 需要处理哈希散列问题,无从下手。如果别人给出理论解答,提问者自己分析 解答,如果无果则针对无法理解或解决的部分继续提问。如果在解答过程中未看见你rn 任何的关于自己分析的回帖,和上面一样处理rnrn9. 希望任何提问者,在提问之前好好利用CSDN为你们提供的搜索和FAQ,输入关键字查询一下是否有人已经提过类似问题,节省板块资源。rnrn10. 对于别人的错误回答,提问者不得有任何鄙视之意,不得出现"等待高手"...rn 等带有隐含性的字眼,在你的回帖中只需要出现与技术相关的内容。rnrn回答者:rn1. 严禁广告,招聘等rn2. 严禁技术贴内恶意鄙视辱骂IDrn3. CSDN提供收藏功能,up mark标记字样不允许出现。rn4. 请解答者看清提问者的问题,不要答非所问。以尽量少的信息来描述解答信息。rn5. 基于别的解答人回答,其他解答人若认为错误,可指出。避免使用直接或潜在rn 言语潜在轻视别人。对于主动挑起事端者处理。rn------------------------------------------------------------------------rn总之一切本意并非限制大家发问,而是努力提高大家提问的质量,保证整个社区的整体rn质量。新手乐园:我倾向于将其刻画为一个初学者良性交流的平台,向广大的初学者提供一个互动的平台,提高其学习积极性,感受到被人帮助和帮助别人的快乐。希望每一个从这里成长为职业专家的人以后都能回报这里。我希望在这个社区大家能够放开自己提出属于自己的技术见解。保证这里任何回答都有意义,至少对于你自己。rn------------------------------------------------------------------------rn希望大家为建立一个健康,积极的社区板块而努力~~~~rnrn今天上午特地花了将近两个小时时间来定出一些规范,希望大家支持补充rn从而形成一个整体可行的规则。感谢大家的参与,请真心维护好这片属于自己的社区!rnrnrn 论坛

没有更多推荐了,返回首页