Aller au contenu

JavaBeans

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 9 mars 2009 à 18:27 et modifiée en dernier par Turb (discuter | contributions) (Liens externes : pub). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

Les JavaBeans sont des composants logiciels écrits en langage Java.

La spécification JavaBeans de Sun Microsystems définit les JavaBeans comme « des composants logiciels réutilisables manipulables visuellement dans un outil de conception ».

En dépit de quelques similarités, les JavaBeans ne doivent pas être confondus avec les Entreprise JavaBeans (EJB), une technologie de composants côté serveur faisant partie de J2EE (Java2 Entreprise Edition).

Conventions JavaBeans

Un composant JavaBean est une simple classe Java qui respecte certaines conventions sur le nommage des méthodes, la construction et le comportement. Le respect de ces conventions rend possible l'utilisation, la réutilisation, le remplacement et la connexion de JavaBeans par des outils de développement.

Les conventions à respecter sont les suivantes :

  • La classe doit être "Serializable" pour pouvoir sauvegarder et restaurer l'état d'instances de cette classe ;
  • La classe doit posséder un constructeur sans argument ;
  • Les propriétés de la classe (Variables d'instances) doivent être accessibles via des méthodes suivant elles aussi des conventions de nommage ;
  • La classe doit contenir les méthodes d'interception d'événements nécessaires.

Comme ces recommandations sont largement exprimées en tant que conventions et non pas par implémentation d'interfaces, les développeurs voient souvent les JavaBeans comme des Plain Old Java Objects (POJO) suivant certaines conventions de nommage. Cette vision des choses est trompeuse, car les JavaBeans supportent l'interception d'événements (Event Handling).

Exemple de JavaBean

// PersonBean.java

public class PersonBean implements Serializable {
    private String name;
    private boolean deceased;

    // Constructeur par défaut (Ne prenant pas d'arguments).
    public PersonBean() {
    }

    public String getName() {
        return (this.name);
    }
    public void setName(String name) {
        this.name = name;
    }
    /* Différentes sémantiques pour les booléens. (get vs is)
       Ici nous optons pour un préfixe is. */
    public boolean isDeceased() {
        return (this.deceased);
    }
    public void setDeceased(boolean deceased) {
        this.deceased = deceased;
    }
}
// TestPersonBean.java

public class TestPersonBean {
    public static void main(String[] args) {

        PersonBean person = new PersonBean();
        person.setName("Bob");
        person.setDeceased(true);

        // Affichage : "Bob [décédé]"
        System.out.print(person.getName());
        System.out.println(person.isDeceased() ? " [décédé]" : "");
    }
}

Adoption

Les bibliothèques graphiques de Java (AWT, Swing et SWT) utilisent les conventions JavaBeans pour leurs composants, ce qui permet aux éditeurs graphiques comme Eclipse Visual Editor de maintenir une hiérarchie de composants et de fournir un accès à leurs propriétés via les accesseurs et mutateurs.

Articles connexes

  • Les composants côté serveur Entreprise JavaBeans (EJB).

Liens externes