重量级与轻量级的区别

主要以启动程序需要的资源来决定。

EJB启动的时候,需要消耗大量的资源,内存,CPU等,所以是重量级。而Spring则不,所以是轻量级框架。

区别在于ejb container是一个构件的容器;而spring是一个对象的容器,一个转移对象间的耦合,把业务逻辑与安全、事务等相分离的轻量级解决方案。

Spring 最核心的部件就是它的Bean Container,在整个框架中扮演了一个软总线,它使框架内部的组件按照一定的耦合度组装起来,对外提供一个服务的接口。

如果开发一个需要跟多个系统交互运行的分布式系统还是使用ejb, spring取代不了ejb。但是对于大多数web应用,应该是一个不需要访问其他系统的多层系统(即使可能访问多个数据库),采用springSpring+hibernate应该是一个比较好的组合,但和ejb container相比,spring的缺点就是没有规范。     

轻量级容器对于web   应用的意义尤为明显;但对于其他类型的应用(包括在J2EE环境中运行的应用和独立的应用)来说,轻量级容器也有助于提高它们的复用程度,例如业务对象和数据访问对象(DAO)的复用。  

什么是轻量级容器?   EJB特点:    

  1.   侵略性的API(你的代码依赖于EJB)    

  2.   对容器的依赖(你的代码不能在EJB容器之外工作)    

  3.   只提供固定的一组功能,不具备配置能力    

  4.   启动时间长    

  5.   部署过程取决于特定的产品,无法通用。   

轻量级容器的目标是避免上面所有这些麻烦事情.

posted @ 2015-01-06 16:49  岁月惜之  Views(555)  Comments(0)    收藏  举报