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委员会才会痛下决心,进行改革.
EJB3.0 final版差不多发布了,文档也看得差不多.虽然是英文的,看得也不是很辛苦.但在看完后却觉得心里空空的感觉,也许是自己的积淀不够深厚的缘故吧.
想起以前给别人讲课的经历,当你试图让别人明白一件东西的时候,你自己也是对这件东西的一次重新认识,于是我决定用自己的语言来把这些文档翻译成中文,写在我的blog里,希望一切顺利.