Java EE 6中最惹人注意的就是上下文和依赖注入规范(Context and Dependency Injection, CDI)-JSR299。
其中最重要的概念是Managed Bean。没错,就是这个称谓。有的开发者可能会问:先前JSF规范中不就有Managed Bean么?Java EE 6中的Managed Bean和JSF1.0中Managed Bean有本质区别。JSF1.0为了和业务层打交道,必须留个尾巴出来和EJB打交道,认为添加了Managed Bean/Backing Bean一层。而这层是完全不必要的,是胶水代码。熟悉JBoss Seam的开发者很能体会JBoss Seam组件是如何干掉Managed Bean直接在表现层使用EJB的(当然前提是这些EJB被声明为Seam组件)。
Java EE 6中的ManagedBean就好像JBoss Seam的组件一样,试图一统Java EE模型。也就是说,EJB也可以通过@ManagedBean注释声明为ManagedBean, 开发者不用写胶水代码了。
有了Managed Bean就不用EJB了么?当然不是,ManagedBean根本不管事务,安全,消息,远程访问等方面的事情。这些还要靠EJB。
上下文的管理也就是状态的管理是CDI最核心的部分, Gavin King一直强调CDI不仅仅是所谓的依赖注入!估计是和JSR330的Lead Rod Johnson又干上了。平心而论,我很怀疑Rod Johnson加入Java EE专家组的动机,这家伙除了搞了一个JSR330之外没啥事,而且开发者可以看一下JSR330:啥也没有,只有一堆抽象的接口定义,晕倒!Spring是来捣乱的啊。
无论如何,上下文的管理是Spring所没有的,因为Spring是无状态框架。而Gavin King极力鼓吹JBoss Seam这样的有状态框架。对于开发者来说,说实话,我从来没有见过完全无状态的应用, Google Search是个例外:).
CDI定义的Scope如下:
- Dependent, 顾名思义,注入的Bean的范围依赖于目标Bean
- ApplicationScoped, 和Servlet的Application对应
- RequestScoped, 和Servlet的HTTP Request对应
- SessionScoped, 和Servlet的HTTP Session对应
- ConversationScoped, 熟悉JBoss Seam的开发者不会陌生吧?JBoss Seam最大的创新之处之一!
分享到:
相关推荐
Java EE 6(Java Platform, Enterprise Edition 6)是Java技术在企业级开发中的一个里程碑,它为构建可扩展、高性能、分布式的企业级应用程序提供了全面的框架和规范。本教程由Sun Microsystems(后被Oracle收购)...
《Java EE 6 教程》是Oracle公司于2010年发布的一部详尽指导书籍,旨在帮助开发者深入理解和掌握Java Platform, Enterprise Edition(Java EE)平台的应用开发技术。Java EE 6作为企业级应用开发的标准框架,提供了...
Java EE 6(Java Platform, Enterprise Edition)是Java开发企业级应用的标准框架,它提供了丰富的API和服务,用于构建分布式、多层的企业系统。GlassFish 3是Oracle公司推出的开源应用服务器,是Java EE 6规范的...
这是官方的英文版的JAVA EE 6的API,带索引功能的。
Java EE(Enterprise Edition)6是Java平台上用于构建企业级分布式应用程序的标准框架。它提供了一系列的API和服务,使得开发者能够创建高效、可扩展且模块化的Web应用程序。本规范手册包含了Java EE 6的所有核心...
Java EE 6,全称Java Platform, Enterprise Edition 6,是Java平台上用于构建企业级Web应用的标准框架。这个集合包含了开发Java EE 6应用程序所需的各种jar包,方便开发者直接使用,无需逐一寻找和下载。Java EE 6的...
### 关于《Beginning Java EE 6 with GlassFish 3, 2nd Edition》的知识点解析 #### 一、Java EE 6 平台概述 **Java Enterprise Edition (Java EE)** 是Oracle公司(前身为Sun Microsystems)开发的一个企业级Java...
在Java EE 6的教程:基本概念,四版,是一个任务导向,例如驱动的指南为Java平台企业版6(Java EE 6中)开发企业应用程序。由甲骨文的Java EE 6日团队成员的书面文件,这本书为我们提供了新的平台的深刻理解和中级...
6. 最佳实践:提供在Java EE 7环境下开发应用程序的推荐方法和技巧。 虽然提供的文件内容并未直接显示书中的详细知识点,但上述知识点是从Java EE 7的基本概念和专业手册的性质出发,根据Java EE 7 Developer ...
Java EE(Java Platform, Enterprise Edition)是Java平台上用于构建企业级Web应用的框架集合,它提供了丰富的服务和组件,使得开发者能够快速开发出分布式、多层架构的应用程序。本教程由知名讲师郑阿奇编著,旨在...
Java EE简介及Java web开发环境的配置
Java EE 6(Java Platform, Enterprise Edition 6)是Java平台的一个重要版本,专注于企业级应用的开发。这个API文档提供了全面的技术规范和接口参考,是开发者理解和使用Java EE 6框架的重要参考资料。以下是该文档...
Java EE 6,全称Java Platform, Enterprise Edition 6,是Java平台上用于构建企业级应用程序的一个版本。这个版本引入了许多新特性和改进,旨在简化开发流程、提高可维护性,并加强了对Web服务和轻量级框架的支持。...
这个压缩包"java-EE-API.zip"包含了Java EE 6的API规范文档,这对于开发者理解和使用该版本的API至关重要。 首先,Java EE 6 API的核心目标是提供一组标准接口和服务,让开发者可以构建可扩展、健壮且安全的Web应用...
Java EE 5 和 Java EE 6 是两个重要的版本,分别于2006年和2009年发布,它们在Java EE发展历程中起到了关键的推动作用。 Java EE 5 的主要改进和特性包括: 1. **简化编程模型**:Java EE 5 引入了注解...
《Java EE 6 Tutorial: Basic Concepts, Fourth Edition》是一本面向新手及中级Java开发者的指南书籍,旨在帮助他们深入理解Java平台企业版6(Java EE 6)的各项特性与技术。本书由Oracle公司Java EE 6文档团队成员...
JAVA EE 6规范 中文版 java ee6.chm
《Java EE 6权威指南 第4版 基础篇》是Java企业级应用开发的一本经典著作,由美国作者Eric Jendrock撰写。这本书详细介绍了Java Enterprise Edition 6(简称Java EE 6)的核心技术和最佳实践,为开发者提供了全面且...