直接把一项技术的规范和文档拿出来秤:操过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总是在不停的修修补补中前进。
轻量级容器对于web 应用的意义尤为明显;但对于其他类型的应用(包括在J2EE环境中运行的应用和独立的应用)来说,轻量级容器也有助于提高它们的复用程度,例如业务对象和数据访问对象(DAO)的复用。 什么是轻量级容器? EJB可能是最好的反例:
1. 侵略性的API(你的代码依赖于EJB)
2. 对容器的依赖(你的代码不能在EJB容器之外工作)
3. 只提供固定的一组功能,不具备配置能力
4.
5. 启动时间长
6. 部署过程取决于特定的产品,无法通用 轻量级容器的目标是避免上面所有这些麻烦事情.
分享到:
相关推荐
轻量级框架和重量级框架的区别在于解决问题的侧重点不同。
我自己做的第一个文档
z-blog经典博客,重量级作品,轻量级体积,非常经典,插件丰富,升级容易
我们这里的轻量级的方案是指:Ibatis, 与之相对的重量级解决方案是: Hibernate. 重量级的方案,在代码层面上体现为: 需要增加很多的依赖包, 重量级一般都以为着绑定,耦合,轻量级意味着松散,解耦。
Vue.js是一套构建用户界面的轻量级MVVM框架,与其他重量级框架不同的是, Vue.js 的核心库只关注视图层,并且非常容易学习,很容易与其它前端技术或已有的项目整合。 本系课程,主要分为两部分完成。第一部分:掌握...
在本文中小编给的大家整理了关于Java锁的升级策略 偏向锁 轻量级锁 重量级锁的相关知识点内容,需要的朋友们参考下。
由于对象头的信息是与对象自身定义的数据没有关系的额外存储成本,因此考虑到JVM的空间效率,Mark Word 被设计成为一个非固定的数据结构,以便存储更多有效的数据,它会根据对象本身的状态复用自己的存储空间,如32...
一款轻量级的XML解析器,能够容易的解决中文问题 如果你要做的东西不是非常大的项目的话,比较Apache和IBM的那两款重量的软件来说,这是一个非常不错的选择 同时附带了TinyXML的学习资料和文档,希望大家喜欢 【我...
很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,本文详细介绍了Java SE1.6中为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和轻量级锁,...
沙箱又名沙盘,是一个虚拟系统程序。它可以开辟一个虚拟空间去运行诸多应用和软件。比如浏览器等。当需要测试某些可疑软件时,可以有效隔离真实的操作系统不受侵染,就仿佛在当前系统中构建了...注意:它与虚拟机不同。
轻量级静态分析器具有易于开发、容错性好、灵活等特点,能有效解决重量级静态分析器在应用中遇到的问题。首先分析比较了两种静态分析器,详细介绍了已有的轻量级静态分析器构造方法;分析了已有方法的优缺点,并指出...
首先,本文利用重量级 DCNN 结合迁移学习、爬虫技术与最大连通区域分割方法,构建了适用于轻量级网络训练的扩充花卉数据集。在扩充后的花卉数据集上训练了两种面向弱算力设备的轻量级 DCNN 模型,分别基于 Tiny-...
一文读懂原子操作、内存屏障、锁(偏向锁、轻量级锁、重量级锁、自旋锁)、Disruptor、Go Context之上半部分.doc
LongUI 0.2.2 轻量级C ++ GUI库LongUI中的功能重量轻LongUI的主要目标静态链接框架,helloworld bin文件大小小于200kb 为此,LongUI中没有c ++异常XML用户界面语言与Mozilla的XUL部分兼容(XML部分) 部分兼容CSS...
NULL 博文链接:https://eleopard.iteye.com/blog/1746671
轻量级框架是相对于重量级框架而言的一种程序设计模式。与重量级框架相比,解决问题的侧重点是不同的。 采用轻量框架一方面因为尽可能的采用基于POJOs的方法进行开发,使应用不依赖于任何容器,这可以提高开发调试...
我们相信,微服务一定不是架构的终点,它或许只是架构从重量级转型为轻量级的桥梁,我们正是设计并建造这座桥梁的工程师。 现在我们从架构与架构师的角度开始出发,开启轻量级微服务的架构探险之旅。
1.Gitosis-轻量级,开源项目,使用SSH公钥认证,只能做到库级的权限控制。目前项目已经停止开发,不再维护。2.Gitolite-轻量级,开源项目,使用SSH公钥认证,能做到分支级的权限控制。3.Git+Repo+Gerrit-超级重量级...
我们相信,微服务一定不是架构的终点,它或许只是架构从重量级转型为轻量级的桥梁,我们正是设计并建造这座桥梁的工程师。现在我们从架构与架构师的角度开始出发,开启轻量级微服务的架构探险之旅。可能绝大
轻量级锁并不是用来代替重量级锁的,它的本意是在没有多线程竞争的前提下,减少传统的重量 级锁使用产生的性能消耗。在解释轻量级锁的执行过程之前,先明白一点,轻量级锁所适应的场 景是线程交替执行同步块的情况...