一、轻量级框架与重量级框架并没有确却的定义,区分的时候主要从下面几个方面考虑:
1、启动程序时需要加载的资源
EJB应用启动时,需要消耗大量的资源,比如内存、CPU等,把所有的服务都加载进来;而Spring则是可定制服务,需要加载什么就加载什么。
2、框架的侵入性程度或者框架的依赖性,耦合性程度(轻量级的框架侵入性程度较低)
(1)轻量级框架不一定需要继承和实现框架的接口和抽象类来注册和实例化组件。
(2)重量级框架需要继承和实现框架的类或者实现框架的接口,以方便使用框架中间件特性。这就意味着,需要实例化大量的类并且注册到应用中去,虽然可能用不到。
3、轻量级框架一般是一组独立的特性实现集,重量级框架往往依赖于某些或其他类型的容器支持框架的特性。
4、开发的方便程度
(1)轻量级框架在开发中应用非常简单方便
(2)重量级框架开发时则要写一些框架绑定的类,部署、运行及测试过程都较为复杂,开发起来并不方便。
5、解决问题的侧重点
(1)轻量级框架侧重于减小开发的复杂度,相应它的处理能力较弱(事务功能弱,不具备分布式处理能力),适用于开发中小型企业应用。
(2)重量级框架则强调高可伸缩性,适合于开发大型企业应用。