1996年 , 发布了java bean 1.00-A  当时的java bean有什么用呢

javaBean最初是为Java GUI的可视化编程实现的.你拖动IDE构建工具创建一个GUI 组件(如多选框),其实是工具给你创建java类,并提供将类的属性暴露出来给你修改调整,将事件监听器暴露出来

具体规范如下:

1、所有属性为private , 使用public的get,set 方法访问

2、提供默认构造方法

3、提供getter和setter

4、实现serializable接口

在实际企业开发中,需要实现事务,安全,分布式, javabean就不好用了.sun公司就开始往上面堆功能,这里java bean就变为复杂为EJB;

EJB (Enterprise Java Beans)企业javaBeans  是JavaEE的组成部分, 是核心规范, 是核心技术之一

EJB设计目标: 部署分布式应用程序

EJB用途: 构筑企业级应用的服务端

它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。但这里值得注意的是,EJB并不是实现JAVAEE的唯一途径。正是由于JAVAEE的开放性,使得有的厂商能够以一种和EJB平行的方式来达到同样的目的。

EJB容器可接受的三类EJB

会话Bean (session beans)

实体Bean (entity beans)

消息驱动Bean (Message Driven Beans)

早期EJB存在诸多弊端,

1 "以规范为驱动" 只是不断添加规范, 并没有针对性地解决问题, 反而在实际开发中引入很多复杂性

2 违反"帕累托法则" , 也称" 二八法则" , 是指花较少的(10%~20%) 的成本解决大部分问题(80%~90%)

3 引入重复代码, 编成模型复杂,开发周期长,移植困难,等问题

Rod johnson "spring之父" 洞察到JavaEE开发上的弊端, 从而推出现在热衷Spring 框架

Spring 开发理念,从实际需求出发,着眼构建轻便, 灵巧并易于开发, 测试和部署的轻量级开发框架

主要表现如下几个方面

1 轻量级IoC容器

2 AOP编程方式 (Aspect Oriented Programming, 面向切面编程)

3 大量使用注解

4 避免重复"造轮子"

IoC+ AOP技术, 通过简单的java bean也能完成EJB的事情, 这里的javaBean简化为POJO

POJO (Plain Ordinary Java Object ) 简单的javaBeans , 是为了避免混淆和EJB所创造的javaBeans的简称

受到spring影响, EJB3.0也使用了所谓的" 传统简单Java对象", 支持依赖注入, 规范大幅采用java注解(annotation), 从而消减此前EJB编程的冗杂性

参考:

https://www.zhihu.com/question/19773379

JavaBean , EJB , spring , POJO的更多相关文章

  1. JavaBean,EJB,POJO,Spring Bean 的演进历程

    JavaBean Sun公司对类提出的规范:1,类是public的2,有一个无参构造方法3,属性修饰要用private,通过get set操作4,实现Serializable接口5,对事件使用Swin ...

  2. JavaBeans、EJB和POJO详解

    转自:http://developer.51cto.com/art/200906/130814.htm J2EE学习者越来越多,J2EE本身技术不断在发展,涌现出各种概念,本文章试图从一种轻易理解的角 ...

  3. ejb 和pojo , jboss 和 tomcat

    EJB(企业JavaBeans)是普通JavaBeans的一种提升和规范,因为企业信息系统开发中需要一个可伸缩的性能和事务.安全机制,这样能保证企业系统平滑发展,而不是发展到一种规模重新更换一套软件系 ...

  4. 理解 JAVABEAN EJB POJO

    <Spring实战>第一章:基本理念.各类名称熟语 POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混 ...

  5. JAVABEAN EJB POJO区别

    1.POJO POJO(Plain Old Java Object)这种叫法是Martin Fowler.Rebecca Parsons和Josh MacKenzie在2000年的一次演讲的时候提出来 ...

  6. Web---JSP注册技术的的演绎(3代)-JSP/EJB/Servlet/POJO/JavaBean

    我们可以这么理解JSP注册技术的发展过程: 第一代JSP技术:纯JSP开发. 第二代JSP技术:JSP+EJB开发. (EJB简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行.) 第三代J ...

  7. Java 之JavaBean 、EJB 和POJO

    由于是创业公司,开发人员较少,所以公司临时决定让几个C的程序猿临时客串Java.所以避免不了有很多基础问题,今天就有两个人都问我,JavaBean和POJO的区别,我可按照自己的理解给他们大致说了下, ...

  8. 3:JavaBean,EJB,POJO

    JavaBeanJavaBean是公共Java类,但是为了编辑工具识别,需要满足至少三个条件: 有一个public默认构造器(例如无参构造器,) 属性使用public 的get,set方法访问,也就是 ...

  9. javaBean、EJB、POJO

    1.JavaBean 最初是由 Sun 公司提出的一种规范,主要包含以下要求: ----类是 public 的,并且有一个无参数的构造函数 ----属性修饰符为:private,并通过 get 和 s ...

随机推荐

  1. 你可能不知道的Animation动画技巧与细节

    引言 在web应用中,前端同学在实现动画效果时往往常用的几种方案: css3 transition / animation - 实现过渡动画 setInterval / setTimeout - 通过 ...

  2. [源码分析] Facebook如何训练超大模型---(4)

    [源码分析] Facebook如何训练超大模型 --- (4) 目录 [源码分析] Facebook如何训练超大模型 --- (4) 0x00 摘要 0x01 背景知识 1.1 单精度.双精度和半精度 ...

  3. 强化学习实战 | 自定义Gym环境之扫雷

    开始之前 先考虑几个问题: Q1:如何展开无雷区? Q2:如何计算格子的提示数? Q3:如何表示扫雷游戏的状态? A1:可以使用递归函数,或是堆栈. A2:一般的做法是,需要打开某格子时,再去统计周围 ...

  4. MySQL表空间结构

    在Innodb中,我们可以指定一张表的数据是保存在独立表空间还是系统表空间,这个参数是:innodb_file_per_table 如果我们设置这个参数的值为0,那么一个表将使用系统表空间来保存表的数 ...

  5. python05day

    之前代码总行数735+133=868 内容回顾 列表:容器型数据类型,可以承载大量的数据,有序的数据 增: append 追加 insert 插入,按索引增 extend 迭代着追加 删: pop 按 ...

  6. django之集成阿里云通信(发送手机短信验证码)

    python3 + django2.0 集成 "阿里云通信" 服务: (SDK文档地址:https://help.aliyun.com/document_detail/55491. ...

  7. gcc 11.2 在线升级

    环境:centos 7 1.准备开发环境 $ yum groupinstall "Development Tools" $ yum install glibc-static lib ...

  8. 羽夏看Win系统内核—— APC 篇

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...

  9. Android动态加载布局之LayoutInflater【转】

    万分感谢大佬:https://www.jianshu.com/p/6a235ba5ee17 深入了解View<一>之Android LayoutInfalter原理分析 下文为:Layou ...

  10. 异步回调实现- Guava Retryer

    为什么要使用重试利器Retryer 在实际开发中我们经常会遇到需要轮询查询一个接果,实现轮询的方式有很多种,我们经常要写许多代码,有时还会怕写出的代码有bug,如果已经有轮子了,我们就没必要重复造轮子 ...