java知识点速记

java bean和pojo的区别

一、 定义

  • POJOPlain Old Java Object的缩写,它主要用来强调某个对象是一个普通的Java对象,而不是一个特殊的对象,尤其不是一个EJB。

    这个术语以其简单易懂的特性被广泛接受并使用,并用来区别那些复杂的对象框架。

  • 一个JavaBean是一个可以被序列化的POJO。有一个默认的无参构造器,并允许使用Getter和Setter方法访问属性。

    对于EJB来说,JavaBean并不是一个单独的类,而是整个组件模型。

    JavaBean是java构建程序中可重用的软件组件,实际开发过程中,它们是使用java语言编写并符合某个约定的类。它们被用来封装一些对象到单个对象(也就是bean)中。

二、 用法

  • POJO主要被用来表明一个java对象不需要跟随任何java对象模型、约定或者框架。最理想的情况,一个POJO应该是一个不和任何框架绑定的java对象,并遵循以下原则:
    1. 不应该继承某个指定的类,比如HttpServlet;
    2. 不应该实现指定的接口,比如EntityBean;
    3. 不应该包含某些框架的注解。
  • JavaBean应该遵循以下原则:
    1. 必须有一个公共的默认构造器,便于实例化;
    2. 属性必须可以通过Getter和Setter或者其他的可以访问并修改的方法进行控制,并遵循标准的命名规范,以便于框架对其进行自动化管理和状态的更新;
    3. 必须可以被序列化,以便于应用和框架以一种独立于VM和操作系统的方式对其进行可靠的保存、存储以及恢复bean的状态。

对于业务程序员来说,这两种类型的java对象其实可以等同,或者说POJO更多强调的是一种业务概念,而JavaBean则属于java编程语言的特性。