Thursday, April 14, 2011

Difference Between Java Bean and POJO


A POJO just means a "plain old java object".  A POJO can be *any* Java object.

A JavaBean is a Java object that satisfies certain programming conventions:
  • the JavaBean class must implement either Serializable or Externalizable
  • the JavaBean class must have a no-arg constructor
  • all JavaBean properties must public setter and getter methods (as appropriate)
  • all JavaBean instance variables should be private

So... all JavaBeans are POJOs but not all POJOs are JavaBeans.  A JavaBean is a POJO that follows certain coding conventions.