2009-12-29 13 views
28

El nombre realmente me saca. Estoy esperando que alguien puede explicarlo de una manera que no olvidaré :)¿Qué es un "Java Bean"?

+2

http://en.wikipedia.org/wiki/JavaBean –

+0

La pregunta puede ampliarse a - por qué "bean" en el nombre JavaBean. ¿Cómo poseen propiedades para "Bean"? No estoy seguro, aunque aumentará la probabilidad de que la pregunta se cierre diciendo "no relacionado con la programación" – Xinus

+2

¿Por qué Sun siempre muestra el grano de café mientras comercializa JavaBeans? También por qué "taza de té" para el marketing de Java. – Xinus

Respuesta

29

Cualquier clase java serializable (implementando java.io.Serializable) que sigue las convenciones específicas: un constructor sin argumentos, y las propiedades accesibles a través de get/set/es accesadores.

La idea es hacer que sea predecible, de modo que las propiedades, etc. se puedan descubrir automáticamente mediante la reflexión, lo que es de gran ayuda en el desarrollo de herramientas y marcos.

+2

Los frijoles no constituyen un diseño OO muy elegante ya que es esencialmente una estructura de datos sin ningún tipo de comportamiento, y expone por completo sus entrañas. Consulte el diseño impulsado por dominio: http://en.wikipedia.org/wiki/Domain-driven_design y http://domaindrivendesign.org/resources/what_is_ddd Dicho esto, la mayoría de los diseños se basan en clases de beans para representar su modelo por lo tanto, es la forma estándar de facto de abordar esto. –

+3

No adherirse a DDD no significa que no sea un "diseño elegante de OO". No es como Eric Evans posee el concepto de objetos. El hecho es que si quieres hacer una cuadrícula de datos (una interfaz gráfica de usuario común, posiblemente no elegante) y no hacer que tus objetos de dominio sean conscientes de ello, las propiedades son tan elegantes como se puede. – fdreger

+0

No hay nada en JavaBeans, por definición o convención, que diga que son "una estructura de datos sin ningún tipo de comportamiento". De hecho, hay [una interfaz estándar] (https://docs.oracle.com/javase/7/docs/api/java/beans/AppletInitializer.html) que sirve para ayudar a crear instancias de "JavaBeans que también son Applets", ¡y creo que todos podemos estar de acuerdo en que los Applets tienen un comportamiento! – Ssswift

10

http://en.wikipedia.org/wiki/JavaBean

JavaBeans son componentes de software reutilizables para Java que pueden ser manipulados visualmente en una herramienta de creación. Prácticamente, son clases escritas en el lenguaje de programación Java conforme a una convención particular. Se usan para encapsular muchos objetos en un solo objeto (el bean), de modo que se pueden pasar como un solo objeto bean en lugar de como objetos individuales múltiples. Un JavaBean es un objeto Java que es serializable, tiene un constructor nullary y permite el acceso a las propiedades usando los métodos getter y setter.

continue reading »

alt text http://www.javalobby.org/articles/j2me-in-a-nutshell/CoffeeBeanSingle.jpg

+4

Esko, cuando la pregunta es así de simple, no veo el daño al citar Wikipedia. – Sampson

4

Un grano de Java es una clase que es serializable, tiene un constructor sin argumentos, y utiliza captadores y métodos setter para sus campos miembros. Se usa en Java Enterprise Apps para almacenar datos de lógica de negocios.

7

Sun's JavaBean Tutorial says...

Los JavaBeans ™ arquitectura se basa en un modelo de componentes, que permite a los desarrolladores> crear unidades de software llamados componentes. Los componentes son unidades de software reutilizables e independientes que se pueden ensamblar visualmente en componentes compuestos, applets, aplicaciones y servlets utilizando herramientas de creación de aplicaciones visuales. Los componentes de JavaBean se conocen como beans.

Un conjunto de API describe un modelo de componente para un idioma en particular. La especificación API de JavaBeans describe la elaboración detallada del núcleo para la arquitectura del componente JavaBeans.

Los frijoles son dinámicos porque se pueden cambiar o personalizar. A través del modo de diseño de una herramienta de construcción puede usar la ventana Propiedades del bean para personalizar el bean y luego guardar (persistir) sus beans utilizando manipulación visual. Puede seleccionar un bean de la caja de herramientas, colocarlo en un formulario, modificar su apariencia y comportamiento, definir su interacción con otros beans y combinarlo y otros beans en un applet, aplicación o un nuevo bean.

Si has usado el botón 'Swing', entonces has usado un componente (JavaBean visible). Puede usar las herramientas de desarrollo (como NetbeansIDE) para cambiar las 'propiedades' disponibles del Bean. Netbeans utiliza algo llamado 'introspección' para descubrir qué JavaBean propiedades pueden ser modificadas por el codificador/usuario (por ejemplo, nombre , texto del título y alineación para un componente JavaBean botón Swing). También puede guardar su estado (el desarrollador de IDE/Beans podría usar 'serialización' para hacer esto), lo que le permitirá reutilizarlo con sus configuraciones favoritas en otro momento.

Los JavaBeans no necesitan estar visibles (como un componente oscilante).Puede crear su propio JavaBean para cifrar texto en un cuadro de texto cuando alguien hace clic en un botón "Aceptar" en un formulario. No ve su JavaBean escrito a medida, pero algún otro desarrollador podría reutilizar su JavaBean 'encriptado' en su código con algunos cambios de 'propiedad' que permitió que fueran públicos (es decir, encryption-type = "blowfish").

Saludos, SteJav

6

JavaBeans componente de software reutilizable son escritos en java.The componentes pueden ser configurados y conectados mediante las propiedades clave constructor tools.Three que causa ninguna clase en Java para convertirse en un JavaBean es

1.Class is serializable 
2.class has a 0 argument constructor 
3.class has getter and setter methods for data members 

Aquí es una clase simple que es elegible para convertirse en un JavaBean

import java.io.*; 

public class Student implements Serializable { 

    private String name = null; 

    //0 argument constructor 
    public Student() { 
    } 
    //getter method 
    public String getName() { 
     return name; 
    } 
    //settor method 
    public void setName(final String name) { 
     this.name = value; 
    } 

} 
2

un JavaBean es un Java objetan que satisface siguientes convenciones de programación:

clase
  1. El JavaBean deben implementar la interfaz Serializable
  2. La clase JavaBean debe tener un no-arg constructor que debe ser pública
  3. Todas las propiedades JavaBean deben tener Setter pública y métodos Getter para establecer y obtener todas las propiedades de frijol.
  4. Todas las variables de instancia de JavaBean deben ser privadas y solo accesibles por Getter y setter.
Cuestiones relacionadas