重量级与轻量级(ejb container vs spring) 
在公司论坛上看到一个讨论heavyweight与lightweight的区别,如果说把一项技术的规范和文档拿出来秤,操过500克就是heavyweight,否则就是lightweight。 
似乎heavyweight总是与复杂性联系起来的。 
就如同ejb container与spring。 我们所开发的系统并不是都是分布式的,也并不都是那么复杂的,才会有spring的出现。 
客观的说,ejb container能够提供的功能,spring基本上都能够以javabean的方式实现。 
区别还是前面说的ejb container是一个构件的容器,而spring是一个对象的容器,一个转移对象间的耦合,把业务逻辑与安全、事务等相分离的轻量级解决方案。 
Spring 最核心的部件就是它的Bean Container,在整个框架中扮演了一个软总线,它使框架内部的组件按照一定的耦合度组装起来,对外提供一个服务的接口 
。 
如果开发一个需要跟多个系统交互运行的分布式系统还是使用ejb吧, spring取代不了ejb。 
对于大多数web应用,应该是一个不需要访问其他系统的多层系统(即使可能访问多个数据库),采用spring把。Spring+hibernate应该是一个比较好的组合,但和ejb container相比,spring的缺点就是没有规范。 
这么多年来,java总是在不停的修修补补中前进,