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. Tomcat-如何创建动态的web工程及目录介绍

    1,IDEA中如何创建动态web工程 (1)创建一个新模块 (2)选择你要创建什么类型的模块 (3)输入模块名,finish完成创建 创建成功如下图: 一般在WEB-INF下建一个lib目录 存放ja ...

  2. 【程序15】成绩>=90分用A表示,60-89分用B表示, 60分以下用C表示。

    利用条件运算符的嵌套来完成此题 score = int(input('input score:')) if score >= 90: grade = 'A' elif score >= 6 ...

  3. MySQL OOM

    问题 前几天遇到一个奇怪的问题,服务器内存明明够用,结果在对 MySQL 进行测压的时候却出现了 OOM,是 Linux 内核出错了吗? 具体现象如下:使用 sysbench 对 mysql 进行压测 ...

  4. React 世界的一等公民 - 组件

    猪齿鱼Choerodon平台使用 React 作为前端应用框架,对前端的展示做了一定的封装和处理,并配套提供了前端组件库Choerodon UI.结合实际业务情况,不断对组件优化设计,提高代码质量. ...

  5. Mac iterm2 配色以及终端大小写敏感解决方案

    iterm2是mac下非常好用的一款终端.但默认的配色实在不好用,经过一翻搜索终于找到了比较满意的,以下贴出博主的解决方案 配色 首先修改 ~/.bash_profile 加入一下代码 #enable ...

  6. GAN入门

    1 GAN基本概念 1.1 什么是生成对抗网络? 生成对抗网络(GAN, Generative adversarial network) 在 2014 年被 Ian Goodfellow 提出. GA ...

  7. System.arraycopy()的用法?

    1.使用方法 public void arr(Object arr1, int x, Object arr2, int y, int length) arr1 : 源数组; x: 需要从源数组要复制的 ...

  8. 【C++】输入输出

    缓冲 C++ 的输入输出均通过缓冲区来实现.缓冲区主要是为了解决速度不匹配的问题. cin 阻塞输入.当输入缓存中无字符时则等待用户输入. 输入缓冲 输入缓冲是一种行缓冲.在输入数据只要没有碰到换行符 ...

  9. Sleep_Yield_Join

    名称解释 Sleep:意思就是睡眠,当前线程暂停一段时间让给别的线程去运行;Sleep是怎么复活的?由你的睡眠时间而定,等睡眠到规定的时间自动复活. Yield:就是当前线程正在执行的时候停止下来进入 ...

  10. jquery.form 兼容IE89文件上传

    导入部分 <script type="text/javascript" src="js/jquery-1.8.3.min.js" charset=&quo ...