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委員會才會痛下決心,進行改革.