2010-09-15 25 views

Respuesta

7

Un bean/clase 'plain-vanilla' significa una clase muy básica, generalmente con las siguientes propiedades;

  • No se extiende o implementar cualquier cosa
  • Tiene variables de clase privada
  • tiene un constructor vacío
  • tiene métodos estándar de captador/definidor

Esto también se llama un POJO (Llanura Old Java Object). Por ejemplo;

public class MyPojo 
{ 
    /* 
    * Private class variables 
    */ 
    private String name; 
    private int size; 

    /** 
    * Empty constructor 
    */ 
    public MyPojo() 
    { 
    } 

    /* 
    * Standard getter/setters 
    */ 
    public String getName() 
    { 
     return name; 
    } 

    public void setName(String name) 
    { 
     this.name = name; 
    } 

    public int getSize() 
    { 
     return size; 
    } 

    public void setSize(int size) 
    { 
     this.size = size; 
    } 
} 
+1

"No extiende ni implementa nada" podría ser "No extiende ni implementa nada desde un marco determinado", es un poco confuso, pero está bien que los POJO implementen o extiendan cosas. – nos

1

La referencia "llano-vainilla" es para diferenciarlo de JavaBeans (un antiguo mejores prácticas para la re-utilizables widgets de interfaz gráfica de usuario) y EnterpriseJavaBeans (elementos de la especificación Java EE).

Una clase plain vainilla es aquella que no necesita cumplir los requisitos de ningún marco o esquema.

Un bean simple de vainilla es una clase con mutadores y accesorios (es decir, getters/setters), pero sin comportamiento.

1

creo que la historia de la "plain vanilla Java Bean" y POJO fue así:

  1. Java 1.0 salga, incluyendo especificaciones Java Bean (por ejemplo ctor defecto, getters/setters para propiedades, etc.) para permitirles interactuar con los editores de estilo VB.
  2. "Enterprise" Java Beans (EJB) 1.0 sale para describir componentes distribuidos, transaccionales y persistentes.
  3. El estándar J2EE se anuncia en Java One en 1999 para proporcionarnos contenedores para gestionar el ciclo de vida de los objetos, el subprocesamiento, la agrupación, etc. y proporcionar servicios empresariales como nomenclatura, búsqueda, etc. para EJB.
  4. La gente encuentra que las especificaciones EJB 1.0 y 2.0 requieren mucho código y funcionan para hacer cosas simples.
  5. Backlash contra EJB 2.0 nos lleva de vuelta a POJO, genera Spring, Guice y otros marcos DI/AOP que intentan simplificar las cosas de nuevo.
+0

Gracias, la evolución histórica es muy útil para entender esto. – Gruber

3

La "clase de Java simple-vainilla" (también conocido como POJO) es una clase que tiene atributos. Como su nombre lo dice, es un Objeto Java Plain Old.
Idealmente, un POJO no extiende ninguna clase ni implementa ninguna interfaz. No tiene anotaciones tampoco.


El "plain-vanilla Java Bean" (también conocido como JavaBean) es una clase que tiene algunos requisitos.

  • Se debe tener un constructor por defecto
  • debe tener captadores y definidores de sus atributos
  • Se tiene que implementar Serializable

Así que un JavaBean es una especie de POJO (no es un POJO ideales porque implementa Serializable) con algunas restricciones.


Recursos:

Sobre el mismo tema:

1

descripción 'Vainilla' proviene de helado, creo, y describe el sabor habitual o básica disponible. Por lo tanto, los pojos de vainilla son pojos sin adornos, sencillos y sencillos. El término también se usa en finanzas y sexo, y probablemente también en otros dominios. (Esta es la más SO no técnica respuesta que he publicado!)

+0

no técnico pero muy esclarecedor – dellasavia