Qu'est ce qu'un Java bean? [dupliquer]


Duplicata Possible:
Quel est l'intérêt des haricots?

Qu'est Ce qu'un javabean? À quoi sert-il? Et quels sont quelques exemples de code? J'ai entendu qu'il est utilisé pour quelque chose à voir avec les méthodes getter et setter? Je suis assez confus sur ce qu'est un bean java et où vous y accédez même. Je l'ai googlé mais je n'ai pas trouvé de réponse définitive.

Author: codeforester, 2012-07-10

4 answers

Java Bean est une classe Java normale qui a des propriétés privées avec sa méthode getter et setter publique.

Les beans Java sont généralement utilisés comme classe d'assistance.

Exemple -

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;
    }
}

L'implémentation de Serializable n'est pas obligatoire mais est très utile si vous souhaitez persister ou transférer des Javabeans en dehors de la mémoire de Java, par exemple sur un disque dur ou sur un réseau.

Endroits où les JavaBéens sont utilisés?

 45
Author: Pramod Kumar, 2017-05-23 12:02:23

Les JavaBeans sont des composants logiciels réutilisables pour Java. Pratiquement, ce sont des classes écrites dans le langage de programmation Java conformément à une convention particulière. Ils sont utilisés pour encapsuler de nombreux objets dans un seul objet (le bean), de sorte qu'ils peuvent être transmis comme un seul objet bean au lieu de plusieurs objets individuels. Un JavaBean est un objet Java sérialisable, doté d'un constructeur à 0 argument et permettant d'accéder aux propriétés à l'aide de getter et setter méthode.

Avantages

  • Un Bean obtient tous les avantages du paradigme "write once, run anywhere" de Java.
  • Les propriétés, les événements et les méthodes d'un Bean qui sont exposés à une autre application peuvent être contrôlés.
  • Un logiciel auxiliaire peut être fourni pour aider à configurer un Bean.
  • Les paramètres de configuration d'un Bean peuvent être enregistrés dans un stockage persistant et peuvent être restaurés ultérieurement.
  • Un Bean peut s'inscrire pour recevoir des événements d'autres objets et peut générer des événements qui lui sont envoyés.

Inconvénients

  • Une classe avec un constructeur nullaire est sujette à être instanciée dans un état invalide. Si une telle classe est instanciée manuellement par un développeur (plutôt que automatiquement par une sorte de framework), le développeur peut ne pas se rendre compte qu'il a instancié la classe dans un état invalide. Le compilateur ne peut pas détecter un tel problème, et même s'il est documenté, il n'y a aucune garantie que le le développeur verra la documentation.
  • Avoir à créer un getter pour chaque propriété et un setter pour beaucoup, la plupart, ou tous, crée une immense quantité de code standard.

Exemple :

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;
    }
}

Se référer à http://en.wikipedia.org/wiki/JavaBeans

 15
Author: Hemant Metalia, 2012-07-10 05:32:38

Eh bien, l'API JavaBean définit un certain nombre de conventions concernant JavaBeans. Selon Wikipedia:

Les conventions requises sont les suivantes:

  • La classe doit avoir un constructeur public par défaut (no-argument). Cela permet une instanciation facile dans les cadres d'édition et d'activation.
  • Les propriétés de la classe doivent être accessibles en utilisant get, set, is (utilisé pour les propriétés booléennes au lieu de get) et d'autres méthodes (appelées méthodes d'accesseur et mutator), suivant une dénomination standard Convention. Cela permet une inspection et une mise à jour automatisées faciles de bean état dans les frameworks, dont beaucoup incluent des éditeurs personnalisés pour différents types de propriétés. Les setters ne doivent recevoir qu'un seul argument.
  • La classe doit être sérialisable. Il permet aux applications et aux frameworks d'enregistrer, de stocker et de restaurer de manière fiable l'état du bean dans un mode indépendante de la VM et de la plateforme.

Assez souvent, ce sont les types de classes les plus courants qui peuvent être trouvés dans une application, car ils peuvent être utilisés pour modéliser les données utilisées. Un exemple d'un tel haricot peut être vu ci-dessous:

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;
  }
}

Comme vous pouvez le voir, les propriétés sont reflétées dans les getters et setters.

HTH

 7
Author: Crollster, 2012-07-10 05:23:16

Si vous parlez de java-beans et NON EJB Beans, alors voici l'explication...

1. Un JavaBean a un constructeur qui ne prend aucun argument.

2. Un JavaBean a un ensemble de propriétés.

3. Un JavaBean a des méthodes accessor (getXxx, ou isXxx pour les propriétés booléennes) et des méthodes mutator (setXxx) qui permettent d'accéder à ses propriétés sous-jacentes.

Le 3ème point indique une classe java avec des variables d'instance privées et public getter, setter.

Par exemple:

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
    }
}
 1
Author: Kumar Vivek Mitra, 2012-07-10 05:18:29