1、EJB3是一个深层次的规范,包含了3个文档,分别面向初级开发者和资深用户。
2、EJB3在容器之外使用实体Bean——> 新的容器外持久化特性。
3、EJB3由JSR220定义:第一个文档:综合介绍新版本的高级特性,着重介绍用于构建EJB组件的新的简化模型;后两个文档:分布讲解核心企业Bean框架和持久化模型的技术细节。
(1) EJB3简化API(EJB3 Simplified API)高度概括新EJB3开发模型;
(2) EJB3核心约定和要求(EJB3 Core Contracts and Requirement)重点讲解会话Bean和消息驱动Bean;
(3) Java持久化API(Java Persistence API)讲解实体和持久化框架。
4、EJB3包括会话Bean和消息驱动Bean,实体Bean由持久化提供器管理(已经不再是EJB容器管理)。
5、EJB框架:EJB组件操作的支持环境,包括容器事务、安全事务、资源的池管理和缓存、组件生命周期服务和并发支持等。
6、EJB核心特性:
(1) 声明式元数据:使用注释或XML文件声明式地指定企业Bean和实体的行为;
(2) 只有在需要非默认行为时,才显示的指定注释或XML——>Configuration by Exception(按异常配置);
(3) 可伸缩性:EJB服务器使用资源池达到对象重用的最大化,使用持久化缓存避免重复查询或创建相同的对象;
(4) Java事务API(JTA):分布式事务定义标准API,并且EJB服务器作为EJB的JTA事务管理器;
(5) 多层安全
(6) 可移植性:EJB可移植到实现EJB的任何AS上;
(7) 可重用性:可重用或打包到多个应用程序中;
(8) 持久性:实体Bean——> 在EJB中替换为POJO. 7、XML和注释,同时使用时XML配置文件优先。
8、依赖注入:在JavaEE容器内实例化一个EJB之后,且在把安全交付给客户之前,容器可以按照此企业Bean定义的原则初始化实例的属性数据。
9、拦截器:回调方法。企业Bean或实体Bean在遇到特定的生命周期事件时,指定调用它们自己的或其它特定类的方法。
10、POJO实现:默认的构造器替换了早期EJB要求的ejbCreate()方法。实体Bean的Home接口比替换为EntityManager接口,它是单一实例工厂,管理实体生命周期的操作。
11、分布式计算模型12、EJB角色
(1) 企业Bean提供者
(2) 应用程序装配值
(3) 部署者