日期:2014-05-19  浏览次数:20839 次

[译文]Java EE 6中的依赖注入——第1部分(一)

原文:Dependency Injection in Java EE 6 – Part 1

作者:Reza Rahman

出处:http://www.theserverside.com/tt/articles/article.tss?l=DependencyInjectioninJavaEE6

?

这一文章系列介绍了Java EE的上下文和依赖注入(Contexts and Dependency Injection for Java EECDI),CDI是即将完成的Java EE 6平台的关键组成部分,经由JSR 299进行标准化。CDIJava EE整个下一代类型安全的依赖注入的事实上的APIJSR 299Gavin King领导,其目标是综合来自诸如SeamGuiceSpring一类的解决方案的最好的依赖注入功能,同时加入许多自己的有用创新。

本文是文章系列的第一篇,我们打算从一个高层面来研究CDI,看看它是如何与Java EE整体相配合的,并讨论基础的依赖管理及作用域。在这一系列文章的介绍过程中,我们会涉及组件命名、版型(stereotype)、生产者(producer)、处置者(disposer)、装饰器(decorator)、拦截器(interceptor)、事件、用于可移植扩展的CDI API等,以及更多诸如此类的功能。我们还将讨论CDI如何与SeamSpring以及Guice保持一致,并通过一些使用CanDI的实现细节来补充这一讨论。CanDICauchoJSR299的独立实现,被收入到Resin应用服务器中。

?

快速回顾

?

Java EE 5的主要关注点是凭借POJO编程、注解和约定高于配置(convention-over-configuration)等方面来使得自身易于使用,Java EE 5中确实有依赖注入的基本形式,也许对其最恰当的术语称谓是资源注入(resource injection。具体来说,你可以借助@Resource@Persi