Spring学习开发之路——使用JavaBean代替EJB
EJB最初的设计思想考虑的是为分布式的应用服务的,分布式是针对大型应用构造的跨平台的协作计算,EJB最初的目的就是为这种计算服务的。但是软件发展到目前为止,大多数应用不需要采用分布式的解决方案,因此用EJB显得太臃肿了。Spring的出现恰恰为了解决这个问题。举个例子来说,EJB就是导弹,专门设计为打高空飞机。但是现在发现飞机不多。于是将它用来对付步兵,这个实在太糟糕了。这个时候有人发明了狙击步枪(Spring),发现对付步兵太好用了。
Spring框架是一个广受欢迎的但是非标准的开源框架。它主要由Interface21公司开发和控制。Spring框架的体系结构是基于注射依赖(DI)模式。Spring框架使用了大量的XML配置文件,它可以独立应用,或者在现有的应用服务器上工作。
这两个框架有着一个共同的核心设计理念:它们的目标是为松耦合的POJO类提供中间件服务。框架通过在运行时截取执行环境,或将服务对象注射给POJO类的方式,将应用服务和POJO类“连接”起来。POJO类本身并不关注如何“连接”,而且也很少依赖于框架。
这样,开发者可以将注意力集中在业务逻辑上,可以对他们的POJO类进行与框架无关的单元测试。并且,由于POJO类不需要继承框架的类或实现框架提供的接口,开发者可以在更加灵活性的基础上构建继承体系,和搭建应用。
尽管有着共同的理念,但这两个框架采取了不同的方式来提供POJO服务。由于已经出了大量的比较Spring和EJB3.0的文章。但发现,随着Spring的发展,其中对Spring的认识难免有失偏颇的地方,因此,本文将考察它们之间几个关键的认识上的误区进行分析。
EJB讲解:https://baike.baidu.com/item/EJB/144195?fr=aladdin
私人总结:EJB属于分布式开发,但是目前市场中小型企业都是非分布式项目,所以为了应市场要求,springBoot横空出世,恰恰解决了中小企业的问题,springBoot诞生就是市场的应召的微服务。就像上述所说,导弹打步兵目的可以实现,但代价太高。狙击枪才是最好的选择。
最新文章
- 用户、角色、权限三者多对多用hibernate的一对多注解配置
- 阿里云centos6.5下搭建javaWeb运行环境
- Dubbo系列_概述
- ionic ngcordova map 地圖
- Python操作RabbitMQ初体验(一)
- 一些好用的nginx第三方模块
- linux下hexdump和od命令:显示文件十六进制格式
- adb出现adb server is out of date时的解决的方法
- 【Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性
- android 程序崩溃crash日志的捕捉
- matlab中小技巧
- 【Js应用实例】图片预览
- Spring Date Jpa on update current_timestamp 自动维护创建时间和更新时间
- [转载] Bitmap的秘密
- .Net 序列化和反序列化SerializerHelper
- Linux信号实践(2) --信号分类
- C++11标准中常用到的各种算法汇总.
- 第一章02: 常用的DOS命令
- BZOJ 4556: [Tjoi2016&;Heoi2016]字符串(后缀数组 + 二分答案 + 主席树 + ST表 or 后缀数组 + 暴力)
- Cracking The Coding Interview 5.7
热门文章
- 【codevs1306】广播操的游戏
- vim升级到8.0
- 红米note怎么打开USB调试模式
- ImportError: No module named flask.ext.login
- 26.Extjs 部门列表信息展示页面
- 关于file文件操作的头文件 【LINUX】 (转载)
- bzoj 3231: [Sdoi2008]递归数列【矩阵乘法】
- [SDOI2011]消防(单调队列,树的直径,双指针)
- mysql机制总结
- python自动化测试学习笔记-unittest参数化