Java bean 是个什么概念?实际上JavaBean是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean。

javaBean在MVC设计模型中是model,又称模型层,在一般的程序中,我们称它为数据层,就是用来设置数据的属性和一些行为,然后我会提供获取属性和设置属性的get/set方法
 
最近又在看<spring in action>,里面很详细讲解上面名词来历:
  • 在java1996年发布,当年12月即发布了java bean1.00-A,有什么用呢?通过统一的规范可以设置对象的值(get,set方法),这是最初的java bean;
  • 在实际企业开发中,需要实现事务,安全,分布式,javabean就不好用了.sun公司就开始往上面堆功能,这里java bean就复杂为EJB;
  • EJB功能强大,但是太重了.此时出现DI(依赖注入),AOP(面向切面)技术,通过简单的java bean也能完成EJB的事情,这里的java bean简化为POJO;
  • Spring诞生了.



作者:文朋
链接:http://www.zhihu.com/question/19773379/answer/18307751
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

作者:文朋
链接:http://www.zhihu.com/question/19773379/answer/18307751
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

从Stack Overflow看到的答案,我觉得应该能完美回答你:
主要区分三个:JavaBean,EJB,POJO。
JavaBean
JavaBean是公共Java类,但是为了编辑工具识别,需要满足至少三个条件:
  1. 有一个public默认构造器(例如无参构造器,)
  2. 属性使用public 的get,set方法访问,也就是说设置成private,同时get,set方法与属性名的大小也需要对应。例如属性name,get方法就要写成,public String getName(){},N大写。
  3. 需要序列化。这个是框架,工具跨平台反映状态必须的
最近看<Think in Java>,里面讲到JavaBean最初是为Java GUI的可视化编程实现的.你拖动IDE构建工具创建一个GUI 组件(如多选框),其实是工具给你创建java类,并提供将类的属性暴露出来给你修改调整,将事件监听器暴露出来.《java 编程思想(第四版)》p823-824
EJB
在企业开发中,需要可伸缩的性能和事务、安全机制,这样能保证企业系统平滑发展,而不是发展到一种规模重新更换一套软件系统。 然后有提高了协议要求,就出现了Enterprise Bean。
EJB在javabean基础上又提了一些要求,当然更复杂了。
POJO
有个叫Josh MacKenzie人觉得,EJB太复杂了,完全没必要每次都用,所以发明了个POJO,POJO是普通的javabean,什么是普通,就是和EJB对应的。
总之,区别就是,你先判断是否满足javabean的条件,然后如果再实现一些要求,满足EJB条件就是EJB,否则就是POJO。
 
 
javabean最简单的理解是数据包.这个数据包里包含了一些信息(属性).比如名称,性别,年龄等.包含了可以给这些属性赋值和取值的方法(get和set方法).通过实例化后的赋值操作(set方法),可以在别的地方把这个实例取出来,然后通过get方法把值取出来.这就是javabean.或者叫vo.如果在方法中含有了一些逻辑.比如getName的时候,要给name前面加上公司名称.通常情况下,就叫做bo.表对应的持久化类,一般叫po.或者pojo.这些东西都可以统称为javabean.核心就是赋值(set)和取值(get).如果需要用到读写硬盘的缓存,需要网络传输,则需要序列化这个javabean.实现Serializable接口

作者:翅膀
链接:http://www.zhihu.com/question/19773379/answer/12936715
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 
符合一定规范编写的Java类,不是一种技术,而是一种规范。大家针对这种规范,总结了很多开发技巧、工具函数。符合这种规范的类,可以被其它的程序员或者框架使用。
具体是什么规范,其它几位已经说得很清楚了。
 
简单来讲,就是实体类,用来封装数据。系统中需要用户信息,那就写个user类还封装用户的一些信息,按照一定的规范来写,这就是java bean。
最近刚刚学了jsp,对javabean,我的理解是一样的,一个jsp文件,一般有html和java语句,然而java语句在jsp中需要使用<%╱%>,为了减少编程员的工作量,会单独建立一个javabean,于是在引用该类中方法的时候就可以直接写<jsp:
 
不谈概念,只谈用处的话,javabean,或更精确的说是目前更流行的pojo,广泛用于分层开发中进行数据交换。
一般而言,pojo与数据表结构对应。逻辑层与数据层之间只通过 pojo进行交换。如
db.save(pojo);
pojos= db.find(sql);
如此逻辑层不用去考虑复杂的sql拼接问题更关注于具体逻辑过程,从而使系统更有条理。
而表现层与逻辑层之间也可以使用pojo+模板引擎的方式进行处理。

所以个人对javabean的不精准概括就是:javabean是数据的映射。


作者:匿名用户
链接:http://www.zhihu.com/question/19773379/answer/31674023
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

posted on 2016-06-23 13:33  雪的心  阅读(3470)  评论(0编辑  收藏  举报

导航