分享

Java EE与Spring之间的关系,到底该如何理解?

 昵称11935121 2018-07-15

Java EE与Spring我都使用过,而且使用的时间都比较久。其实,EJB在国内还没开始大流行就退出舞台了,目前还知道EJB并使用过EJB的程序员大部分都是70后或者80初那批老程序员了,当年我在使用EJB的时候,还很年轻。

早在2004年的时候我就在小型机上部署EJB,使用EJB开发了一系列应用,大部分都是大用户并发的使用场景。可以说我对EJB不仅仅熟悉,也有一定的感情,当年就是因为我熟悉EJB而获得了很多机会,这对于一名年轻的研发人员来说是非常重要的。

EJB的特点是复杂,EJB分为会话Bean、实体Bean和消息驱动Bean,在早期这种设置方式有效解决了很多异质异构问题,包括事务处理问题,但是却埋下了复杂的种子,导致整体EJB解决方案过重。

Spring与EJB解决的是同一个问题,就是性能优化问题。Spring与EJB一样都是通过“池化”的方式来完成单对象的共享使用问题,不过Spring并没有像EJB那样划分众多的Bean类型,而是采用了统一的实现方式。

Spring之所以“轻”体现在两个方面,一方面Spring的代码轻,一方面Spring的架包轻。Spring更模块化一些,而EJB则是整体解决方案,所以EJB整体偏重。由于EJB代码复杂,部署复杂,且对硬件要求较高,所以在Spring推出以后,EJB逐渐被边缘化了(即使是官方标准)。

所以,简单的说EJB和Spring是实现企业级业务处理的两种解决方案,EJB是重量级解决方案,Spring是轻量级解决方案。

我的研究方向是大数据和人工智能,我在头条上陆续写了一些关于大数据的科普文章,感兴趣的朋友可以关注我的头条号,相信一定会有所收获。

如果有软件开发方面的问题,或者是考研方面的问题,都可以咨询我。

谢谢!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多