JavaBean
JavaBean是指一种特殊的Java类,它通常用来实现一些比较常用的简单功能,并可以很容易的被重用或者是插入其他应用程序中去。所有遵循一定编程原则的Java类都可以被称作JavaBean。JavaBean是一个遵循特定写法的Java类,是一种Java语言编写的可重用组件,它的方法命名,构造及行为必须符合特定的约定:
-
有一个public无参构造函数
-
所有属性私有化
-
私有化的属性必须通过public类型的方法(getter和setter)暴露给其他程序,并且方法的命名也必须遵循一定的命名规范
-
需要序列化(比如可以实现Serializable 接口,用于实现bean的持久性)
EJB
在企业开发中,需要可伸缩的性能和事务、安全机制,这样能保证企业系统平滑发展,而不是发展到一种规模重新更换一套软件系统。 然后又提高了协议要求,就出现了Enterprise Java Bean。 简单来说,EJB是要就更加严格的JavaBean。
POJO
有个叫Josh MacKenzie人觉得,EJB太复杂了,完全没必要每次都用,所以发明了个POJO,POJO是普通的JavaBean,什么是普通,就是和EJB对应的。
- PO(persistence object):用于持久化时(例如保存到数据库或者缓存)
- VO(value object):用于前端展示使用(例如放置到JSP中解析或者给前端传递数据),VO封装出参
- DTO(data transfer object):用于接口互相调用返回,数据传输(例如很多接口调用返回值或消息队列内容),DTO封装入参
总之,先判断是否满足JavaBean的条件,然后如果再实现一些要求,满足EJB条件就是EJB,否则就是POJO。