POJOs
POJOs, short for Plain Old Java Objects, are Java objects that are not bound by any special framework requirements. The term was coined in the early 2000s by Martin Fowler and Rebecca Parsons to contrast with Enterprise JavaBeans (EJB), whose 2.x version imposed a container-managed programming model. A POJO should not require any classpath dependencies or container interfaces beyond standard Java SE; it typically does not need to extend or implement specific classes or interfaces, nor impose particular annotations, though it may use standard Java features such as getters, setters, constructors, and implements Serializable.
In practice, POJOs are used as data carriers, domain models, or data transfer objects. They are favored
Limitations: a POJO is not defined by a formal specification; its plainness is a design principle rather