EJB3最新的EJB标准。
Spring是一个框架。
Spring可以部分简化EJB本地和远程调用。EJB3分消息驱动Bean、有、无状态Bean和实体Bean。分别服务于应用层和持久层。JBoss的EJB3实体Bean部分的底层核心是Hibernate。 Model层?是MVC中的M吗?Spring支持配置表现层,Model可以通过Spring配置实现。比如你可以用Spring配置Struts。EJB和表现层没有任何关系。Model和它的关系只是Model可以去调用EJB罢了。 EJB3的持久层是一个新的标准JPA。EJB3的实体Bean的变化是最大的,吸收了Hibernate的ORM工具的很多好思想。不过要注意,JPA不是Hibernate。JPA是标准,Hibernate是框架。Hibernate Hibernate元数据 Hibernate EntryManager组合起来,就是JBoss的JPA实现方案。JPA还有很多其他实现,比如Bea的开源实现OpenJPA。 注意,它们不属于MVC的任何一个部分。EJB属于应用层和持久层。Spring虽然有自己的Spring MVC,但是本质上来说,Spring属于中间层框架。 应用EJB的标准结构是: 表现层(Struts/JSF等) 应用层(EJB中的Session Bean) 持久层(实体Bean)。 或者纯Spring的: 表现层(Struts/JSF/Spring MVC) 应用层(Spring) 持久层(ORM框架或JDBC)。 Spring EJB的: 表现层(Struts/JSF/Spring MVC) 应用层(Spring EJB中的Session Bean) 持久层(实体Bean/ORM框架/JDBC)。