JavaBeans

Los JavaBeans son componentes de software para el lenguaje de programación Java . JavaBeans se desarrolló a partir de la necesidad de crear instancias de clases de GUI ( AWT , Swing ) y transferirlas usando RMI . Los JavaBeans también se utilizan como contenedor para la transferencia de datos. Por tanto, todos los JavaBeans se caracterizan por las siguientes propiedades:

Debido a estas propiedades, los JavaBeans también son adecuados como objetos de datos para marcos de persistencia (consulte Enterprise JavaBeans ) .

visión general

Un JavaBean es una clase Java que corresponde a un modelo de componente para permitir el acceso automatizado a sus propiedades ( variables miembro ) y operaciones ( métodos ). El SDK de Java hace que la API de Bean (el paquete java.beans) esté disponible para los desarrolladores de aplicaciones , por ejemplo, para mostrar una breve descripción de un bean. El modelo de componente JavaBean se desarrolló principalmente para proporcionar una API unificada para facilitar el desarrollo de los constructores de GUI. Los beans logran una serialización mejorada y, por lo tanto, la capacidad de red, la reutilización , la portabilidad y la interoperabilidad .

Un componente es sólo un JavaBean si cumple con la especificación de la API de JavaBeans , que está especificada por la Arquitectura de componentes de JavaBeans .

Instanciación

Un JavaBean siempre tiene un constructor sin parámetros (constructor estándar). Esto permite la instanciación estandarizada, por ejemplo, un botón :

JButton button = (JButton) Class.forName("javax.swing.JButton").newInstance();

Una alternativa a esta instanciación es:

JButton button = new JButton();

Operaciones de acceso

Todas las propiedades de un frijol conservan el principio de secreto (ocultación de información) . El acceso es posible a través de operaciones especiales que deben cumplir con ciertas convenciones.

Para una propiedad foo, la operación de lectura se llama (captador) getFoo . Con variables booleanas, también es isFooposible como alternativa , lo que generalmente se prefiere. Se llama a la operación de escritura (setter)setFoo . Cada una de las propiedades indexadas tiene dos captadores y definidores: uno para la totalidad y otro para un índice específico. Una propiedad de solo lectura no tiene ningún setter (público).

Introspección

La introspección es el mecanismo que tiene un bean para analizar sus propiedades, eventos (eventos) y operaciones. La API ofrece opciones que hacen innecesario el soporte adicional para la introspección por parte del desarrollador de beans. Los frijoles pueden examinarse por reflexión si se adhieren a las convenciones definidas en la especificación .

También es posible escribir una clase BeanInfo para cada bean que contenga información sobre el bean, sus propiedades y operaciones. La clase primero java.beans.Introspectorbusca información explícita y la completa a través de la reflexión.

adicional

Al cambiar una propiedad vinculada , los objetos deben ser informados del cambio. En Propiedades restringidas , también pueden vetar . La API de Bean proporciona un modelo de delegación de eventos para esto.

Se pueden crear editores gráficos y personalizadores para ciertos tipos de datos y beans, y las propiedades se pueden ajustar fácilmente con ellos.

Existe un mecanismo de persistencia para los frijoles. Por ejemplo, los beans se pueden guardar como un documento XML .

literatura

  • Olaf Zwintzscher: una descripción general de los componentes de software. W3L, 2004, ISBN 3-937137-60-2

enlaces web