ejb和spring的区别

首页 / 常见问题 / 低代码开发 / ejb和spring的区别
作者:低代码 发布时间:5小时前 浏览量:6414
logo
织信企业级低代码开发平台
提供表单、流程、仪表盘、API等功能,非IT用户可通过设计表单来收集数据,设计流程来进行业务协作,使用仪表盘来进行数据分析与展示,IT用户可通过API集成第三方系统平台数据。
免费试用

ejb和spring的区别是:1.spring可以作为中间层使用,就像ejb的sessionBean,但是spring的依赖注入很强大,而ejb只支持jndi方式的注入;2. ejb有持久层,比如jpa;spring可以无缝结合很多持久化框架,比如hibernate、jpa、ibatis,jdbc。

一、ejb和spring的区别

具体区别

1.spring可以作为中间层使用,就像ejb的sessionBean,但是spring的依赖注入很强大,而ejb只支持jndi方式的注入。

2.ejb有持久层,比如jpa;spring可以无缝结合很多持久化框架,比如hibernate、jpa、ibatis,jdbc。

3.ejb支持分布式(最大特点),spring可以继承webservice来实现,也可以结合一些分布式的框架实现,但是ejb的分布式比较成熟(虽然也有一些事务相关的,无法解释的问题)。

4.spring有spring mvc提供web层,而ejb需要结合jsf或者自己去组装struts等框架实现。

总结

首先,EJB是指运行在EJB容器中的JavaBean。Tomcat是Web容器的参考实现。一个完整的JavaEE服务器应该包括Web容器和EJB容器。

其次,Web容器中无法运行EJB,同时所有的JavaBean都是在服务器端运行的。如果有在客户端的话,就变成C/S结构了。

目前来说除非需要分布式处理,不然基本上不需要考虑EJB。Spring能帮你处理好除分布计算之外的一切。

用JavaScript来进行服务器调用的话,属于Ajax的范围了。

至于购物车。一般来说有几种方法,一种是EJB中的有状态SessionBean。一种是使用HttpSession保存。还有就是自己建设一个对象池来处理。

JavaBean是领域模型的具体化类,保存了信息和业务。只有set、get方法的JavaBean是失血模型。现在来说一般多少不太欢迎这种东西。把本属于领域对象的业务逻辑都丢掉了。

实际上现在的JavaEE系统分这么几个层。

表现层(Struts、JSF等)+应用层(处理业务,可以是JavaBean也可以是EJB)+持久层(JDBC、Hibernate)。

不要在Struts的Action类中写业务代码,那是反模式。不然日后需要修改的时候很麻烦的。Action中只有流程指向和对应用层的调用。

延伸阅读:

二、EJB组件的工作流程

EJB Component在部署到应用服务器上之后, 客户端就可以调用它来完成各种功能。工作过程如下:

1) 客户端首先通过JNDI服务检索Home对象。在EJB应用部署到应用服务器上之后, 容器会自动获得Home对象的信息并将其加入到JNDI中。

2) JNDI服务返回所查找的Home对象的引用。

3) Home对象的创建或者查找EJB对象。

4) Home对象将获得的EJB对象返回给客户端。

5) 客户端利用获得的EJB对象引用, 调用业务方法。

6) EJB对象获得对应bean的一个实例并将相应的业务方法调用传递给该实例。

7) Bean实例通过其实现代码, 完成相应的业务逻辑并将结果返回给EJB对象。

8) EJB对象将方法的结果返回给客户端

以上就是关于ejb和spring的区别的内容希望对大家有帮助。

最后建议,企业在引入信息化系统初期,切记要合理有效地运用好工具,这样一来不仅可以让公司业务高效地运行,还能最大程度保证团队目标的达成。同时还能大幅缩短系统开发和部署的时间成本。特别是有特定需求功能需要定制化的企业,可以采用我们公司自研的企业级低代码平台织信Informat。 织信平台基于数据模型优先的设计理念,提供大量标准化的组件,内置AI助手、组件设计器、自动化(图形化编程)、脚本、工作流引擎(BPMN2.0)、自定义API、表单设计器、权限、仪表盘等功能,能帮助企业构建高度复杂核心的数字化系统。如ERP、MES、CRM、PLM、SCM、WMS、项目管理、流程管理等多个应用场景,全面助力企业落地国产化/信息化/数字化转型战略目标。 版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们微信:Informat_5 处理,核实后本网站将在24小时内删除。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系邮箱:hopper@cornerstone365.cn 处理,核实后本网站将在24小时内删除。

最近更新

湘东区低代码平台
05-13 18:09
青云谱区低代码平台
05-13 18:09
新余市低代码平台
05-13 18:09
安义县低代码平台
05-13 18:09
寻乌县低代码平台
05-13 18:09
广信区低代码平台
05-13 18:09
分宜县低代码平台
05-13 18:09
瑞昌市低代码平台
05-13 18:09
信州区低代码平台
05-13 18:09

立即开启你的数字化管理

用心为每一位用户提供专业的数字化解决方案及业务咨询

  • 深圳市基石协作科技有限公司
  • 地址:深圳市南山区科技中一路大族激光科技中心909室
  • 座机:400-185-5850
  • 手机:137-1379-6908
  • 邮箱:sales@cornerstone365.cn
  • 微信公众号二维码

© copyright 2019-2024. 织信INFORMAT 深圳市基石协作科技有限公司 版权所有 | 粤ICP备15078182号

前往Gitee仓库
微信公众号二维码
咨询织信数字化顾问获取最新资料
数字化咨询热线
400-185-5850
申请预约演示
立即与行业专家交流