tutorial propiedades personalizados example español descargar beans java javabeans

propiedades - ¿Qué es un bean Java?



javabeans tutorial español (4)

Posible duplicado:
¿Cuál es el punto de frijoles?

¿Qué es un javabean? ¿Para qué se usa esto? ¿Y cuáles son algunos ejemplos de código? Escuché que se usa para algo relacionado con los métodos de obtención y establecimiento. Estoy bastante confundido acerca de lo que es un frijol java y de dónde incluso se accede. Lo busqué en Google pero no pude encontrar una respuesta definitiva.


Bueno, la API de JavaBean define una serie de convenciones con respecto a JavaBeans. Según Wikipedia:

Las convenciones requeridas son las siguientes:

  • La clase debe tener un constructor público predeterminado (sin argumentos). Esto permite una fácil creación de instancias dentro de marcos de edición y activación.
  • Las propiedades de la clase deben ser accesibles utilizando get, set, is (se usa para propiedades booleanas en lugar de get) y otros métodos (los denominados métodos de acceso y métodos mutadores), siguiendo una convención de denominación estándar. Esto permite una fácil inspección y actualización automatizada del estado del bean dentro de los marcos, muchos de los cuales incluyen editores personalizados para varios tipos de propiedades. Los instaladores deben recibir solo un argumento.
  • La clase debe ser serializable. Permite a las aplicaciones y los marcos guardar, almacenar y restaurar de forma confiable el estado del bean de manera independiente de la VM y de la plataforma.

Muy a menudo, estos son los tipos más comunes de clases que se pueden encontrar en una aplicación, ya que pueden usarse para modelar los datos que se usan. Un ejemplo de este tipo de frijol se puede ver a continuación:

public class Person implements Serializable { private String name; private boolean alive; public Person() { // constructor logic... } public String getName() { return name; } public void setName(String name) { this.name = name; } public boolean isAlive() { return alive; } public void setAlive(boolean alive) { this.alive = alive; } }

Como puede ver, las propiedades se reflejan en los captadores y definidores.

HTH


Java Bean es una clase Java normal que tiene propiedades privadas con su método de obtención y establecimiento público.

Java Beans se utilizan generalmente como clase auxiliar.

Ejemplo -

public class User implements java.io.Serializable { private String name; private Integer age; public String getName(){ return this.name; } public void setName(String name){ this.name = name; } public Integer getAge(){ return this.age; } public void setAge(Integer age){ this.age = age; } }

Implementar Serializable no es obligatorio, pero es muy útil si desea persistir o transferir Java fuera de la memoria de Java, por ejemplo, en un disco duro o en una red.

¿Lugares donde se utilizan JavaBeans?


JavaBeans son componentes de software reutilizables para Java. En la práctica, son clases escritas en el lenguaje de programación Java conforme a una convención particular. Se utilizan para encapsular muchos objetos en un solo objeto (el bean), de modo que se pueden pasar como un solo objeto de bean en lugar de como múltiples objetos individuales. Un JavaBean es un objeto Java que puede ser serializado, tiene un constructor de 0 argumentos y permite el acceso a las propiedades usando métodos de obtención y establecimiento.

Ventajas

  • A Bean obtiene todos los beneficios del paradigma de "escribir una vez, ejecutar en cualquier lugar" de Java.
  • Las propiedades, eventos y métodos de un Bean que están expuestos a otra aplicación pueden ser controlados.
  • Se puede proporcionar software auxiliar para ayudar a configurar un Bean.
  • Los ajustes de configuración de un Bean se pueden guardar en un almacenamiento persistente y se pueden restaurar en un momento posterior.
  • Un Bean puede registrarse para recibir eventos de otros objetos y puede generar eventos que se le envíen.

Desventajas

  • Una clase con un constructor nulo está sujeta a ser instanciada en un estado inválido. Si dicha clase es instanciada manualmente por un desarrollador (en lugar de automáticamente por algún tipo de marco), el desarrollador puede no darse cuenta de que ha creado una instancia de la clase en un estado no válido. El compilador no puede detectar tal problema, e incluso si está documentado, no hay garantía de que el desarrollador vea la documentación.
  • Tener que crear un captador para cada propiedad y un establecedor para muchos, la mayoría o todos ellos, crea una cantidad inmensa de código repetitivo.

Ejemplo:

package beans; /** * Class <code>PersonBean</code>. */ public class PersonBean implements java.io.Serializable { private String name; private boolean deceased; /** No-arg constructor (takes no arguments). */ public PersonBean() { } /** * Property <code>name</code> (note capitalization) readable/writable. */ public String getName() { return this.name; } /** * Setter for property <code>name</code>. * @param name */ public void setName(final String name) { this.name = name; } /** * Getter for property "deceased" * Different syntax for a boolean field (is vs. get) */ public boolean isDeceased() { return this.deceased; } /** * Setter for property <code>deceased</code>. * @param deceased */ public void setDeceased(final boolean deceased) { this.deceased = deceased; } }

Consulte http://en.wikipedia.org/wiki/JavaBeans


Si estás hablando de java-beans y NO EJB Beans , aquí está la explicación ...

1. Un JavaBean tiene un constructor que no toma argumentos.

2. Un JavaBean tiene un conjunto de propiedades.

3. Un JavaBean tiene métodos de acceso (getXxx, o isXxx para propiedades booleanas) y métodos mutadores (setXxx) que permiten el acceso a sus propiedades subyacentes.

El tercer punto establece una clase java con variables de instancia privada y captador público, establecedor.

p.ej:

import java.util.Date; public class User { private Date loginDate; private String name; private String password; public User() { } public Date getLoginDate() { return loginDate; } public String getName() { return name; } public String getPassword() { return password; } public void setLoginDate(Date loginDate) { this.loginDate = loginDate; } public void setName(String name) { this.name = name; } public void setPassword(String password) { this.password = password; } public void delete() { // code to delete user from database } public void update() { // code to update user in database } public static User getUser(String name) { // code returning a new User object // populated from the database } }