Qu'est-ce qu'un haricot Java? [dupliquer]

possibilité de dupliquer:

à quoi ça sert les haricots?

Qu'est-ce qu'un javabean? À quoi sert-il? Et quels sont quelques exemples de code? J'ai entendu dire qu'il est utilisé pour quelque chose à voir avec getter et setter méthodes? Je ne sais pas ce qu'est un haricot java et où on y accède. J'ai cherché sur Google mais je n'ai pas trouvé de réponse définitive.

28
demandé sur codeforester 2012-07-10 09:11:55

4 réponses

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

Les haricots Java

sont généralement utilisés comme classe d'aide.

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

implémenter 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 dans harddisk ou sur le réseau.

lieux où Les javabéens sont utilisés?

45
répondu Pramod Kumar 2017-05-23 12:02:23

JavaBeans sont des composants logiciels réutilisables pour Java. En pratique, il s'agit de cours écrits dans le langage de programmation Java et conformes à une convention particulière. Ils sont utilisés pour encapsuler plusieurs objets en un seul objet (la fève), de sorte qu'ils peuvent être passés comme une seule fève objet plutôt que de multiples objets individuels. Un JavaBean est un objet Java qui est sérialisable, a un constructeur d'argument 0, et permet l'accès aux propriétés en utilisant les méthodes getter et setter.

avantages

  • un haricot obtient tous les avantages du paradigme" ecrire une fois, courir n'importe où " de Java.
  • les propriétés, les événements et les méthodes d'un haricot qui sont exposés à une autre application peuvent être contrôlés.
  • logiciel auxiliaire peut être fourni pour aider à configurer un Bean.
  • les paramètres de configuration d'un haricot peuvent être sauvegardés dans un stockage persistant et peuvent être restaurés à une date ultérieure.
  • 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.

désavantages

  • une classe avec un constructeur nul est sujette à être instanciée dans un état invalide. Si une telle classe est instanciée manuellement par un développeur (plutôt qu'automatiquement par une sorte de framework), le développeur pourrait ne pas se rendre compte qu'il a instancié la classe dans un état non valide. 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 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 énorme quantité de code de boilerplate.

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

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

15
répondu Hemant Metalia 2012-07-10 05:32:38

bien, L'API Javabéenne définit un certain nombre de conventions concernant les Javabéens. Selon Wikipedia:

les conventions requises sont les suivantes:

  • la classe doit avoir un constructeur par défaut public (no-argument). Cela permet une instanciation facile dans les cadres d'édition et d'activation.
  • les propriétés de classe doivent être accessibles en utilisant get, set, is (utilisé pour les propriétés booléennes) au lieu de l'obtenir) et d'autres méthodes (soi-disant méthodes accessor et mutator), suivant un nom standard Convention. Cela permet une inspection et une mise à jour automatisées des haricots l'état dans les cadres, dont beaucoup comprennent des éditeurs personnalisés pour divers 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 cadres d'enregistrer, de stocker et de restaurer de manière fiable l'état de la fève dans un mode indépendant de la VM et de la plateforme.

Assez souvent, ce sont les types les plus communs de classes qui peuvent être trouvés dans une application, car ils peuvent être utilisés pour modéliser les données qui sont 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 se reflètent dans les getters et les setters.

HTH

7
répondu 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 pas d'arguments.

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

3. Un JavaBean a accesseur (getXxx, ou isXxx pour les propriétés Booléennes) les méthodes et les mutateur méthodes (setXxx) qui permettent l'accès à ses propriétés sous-jacentes.

le troisième point indique une classe java avec des variables d'instance privée et un getter public, 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
répondu Kumar Vivek Mitra 2012-07-10 05:18:29