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. gorm中的scope

    作用域允许您重用常用逻辑,共享逻辑需要定义为类型 func(*gorm.DB) *gorm.DB 查询 func Scope1(db *gorm.DB) *gorm.DB { return db.Wh ...

  2. Kubernetes:Pod基础知识总结

    Blog:博客园 个人 官方文档详尽介绍了Pod的概念. 概念 Pods are the smallest deployable units of computing that you can cre ...

  3. Markdown学习——Typora入门之常用操作语法及其快捷键

    Markdown 学习--Typora入门 Markdown是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档. 由于Markdown的轻 ...

  4. NOI Online 2021 入门组 T1

    Description 题目描述 Alice.Bob 和 Cindy 三个好朋友得到了一个圆形蛋糕,他们打算分享这个蛋糕. 三个人的需求量分别为 \(a, b, c\),现在请你帮他们切蛋糕,规则如下 ...

  5. Kafka中非常值得学习的优秀设计

    一.Kafka基础 消息系统的作用 应该大部份小伙伴都清楚,用机油装箱举个例子 所以消息系统就是如上图我们所说的仓库,能在中间过程作为缓存,并且实现解耦合的作用. 引入一个场景,我们知道中国移动,中国 ...

  6. mac 下载MySQL后,需要这样打开

    1.打开mac终端 2.输入 export PATH=${PATH}:/usr/local/mysql/bin 3.输入mysql -u root -p 4输入密码

  7. AT2272 [ARC066B] Xor Sum

    我们可以知道异或可以看成不进位的加法,那么我们就可以得到 \(a + b = a\) ^ \(b + ((a \& b) << 1)\),不难发现 \(\frac{v - u}{2 ...

  8. <input type="file"> 标签详解

    详见:https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input/file#attr-multiple 使用 type=" ...

  9. IO复习

    /* 字节流 输入字节流: ---------| InputStream 所有输入字节流的基类. 抽象类 ------------| FileInputStream 读取文件的输入字节流 ------ ...

  10. kubeadm/flannel/dashboard/harbor部署以及服务发布

    kubeadm/flannel/dashboard/harbor部署以及服务发布 目录 kubeadm/flannel/dashboard/harbor部署以及服务发布 一.部署kubeadm 1. ...