EJB 3.0的雏形基本已经出来了,下面是我个人对EJB 3.0产生的一些变化的少许总结:
EJB 3.0总体目标是易于开发.EJB 3.0最主要有以下几个特点:
首先易于开发使用,目前的EJB对于程序员来说是重量的,因为程序员建立一个EJB需要很多步骤:建立几个接口文件和一个配置文件.
在EJB3.0中,建立一个Session bean将会非常简单,如:
@Session
public class HelloWorldBean {
public void Hello (String s) {
System.out.println(“Hello:”+s)
}
}
其次,引入Dependency Injection 模式(一种新的Ioc模式,也是AOP基础模式)替代了JNDI的LookUp,这样使得在EJB容器外测试程序变得更加容易。
最后是简化了持久层实体Bean CMP,现在EJB中的实体Bean CMP因为重量且复杂被很多程序员指责甚至攻击,因此,开源项目Hibernate成为很多程序员的新宠儿,EJB 3.0吸取了Hibernate和TopLink轻量特点,简化了CMP,从而使得EJB 3.0的CMP足以在持久层技术和Hibernate之类ORM产品形成了竞争。
Rod Johnson 的J2EE without EJB 是反对EJB的,正是他发明了spring,而现在tomcat+spring+hibernate已经成为许多J2EE开发人员的主要选择.所以使得EJB委员会才会痛下决心,进行改革.