JavaBeans est une technologie de composants logiciels écrits en langage Java.

La spécification JavaBeans de Oracle[1] définit les composants de type JavaBeans comme « des composants logiciels réutilisables manipulables visuellement dans un outil de conception ».

Ils sont utilisés pour encapsuler plusieurs objets dans un seul objet : le « bean » (abréviation de coffee bean, soit « grain de café » en français). Le « bean » regroupe alors tous les attributs des objets encapsulés, et peut définir d'autres attributs si besoin. Ainsi, il représente une entité plus globale que les objets encapsulés de manière à répondre à un besoin métier.

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

Conventions JavaBeans

modifier

Un composant JavaBean est une simple classe Java qui respecte certaines conventions sur le nommage, la construction et le comportement des méthodes. 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 paramètre (constructeur par défaut) ;
  • les attributs privés de la classe (variables d'instances) doivent être accessibles publiquement via des méthodes accesseurs construit avec get ou set suivi du nom de l'attribut avec la première lettre capitalisée. Le couple d’accesseurs est appelé Propriété ;
  • la classe ne doit pas être déclarée final.

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.

Exemple de JavaBean

modifier
// PersonBean.java

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

    // 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 isMajor() {
        return this.major;
    }
    public void setMajor(boolean major) {
        this.major= major;
    }
}
// TestPersonBean.java

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

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

        // Affichage : "Bob [majeur]"
        System.out.print(person.getName());
        System.out.println(person.isMajor() ? " [majeur]" : " [mineur]");
    }
}

Adoption

modifier

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 de maintenir une hiérarchie de composants et de fournir un accès à leurs attributs via les accesseurs et mutateurs.

Notes et références

modifier
  1. (en) « JavaBeans Spec », oracle.com.

Articles connexes

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

Liens externes

modifier

📚 Artikel Terkait di Wikipedia

Java (langage)

Pour les articles homonymes, voir Java. Ne doit pas être confondu avec JavaScript. Java est un langage de programmation de haut niveau orienté objet créé

Enterprise JavaBeans

sortes : BMP (Bean Managed Persistence) ou CMP (Container Managed Persistence) (voir Java Persistence API). Les EJB BMP sont des beans dont la persistance

NetBeans

(technologie Beans Binding ). Il supporte par ailleurs Java FX. Netbeans permet le développement d'applications Java pour mobiles (Java ME) et systèmes

Bean

logiciel du langage Java The Bean, surnom de la sculpture Cloud Gate de Anish Kapoor Beans peut désigner : Beans, un rappeur new-yorkais ; Beans, un personnage

Plain old Java object

exact du bean. La spécification de JavaBeans, ainsi pleinement implémentée, viole légèrement le modèle POJO qui devrait être un vrai JavaBean, car la classe

EJBCA

modifier - modifier le code - voir Wikidata (aide) EJBCA ou Enterprise JavaBeans Certificate Authority est une solution logicielle de PKI – ou IGC, Infrastructure

Jakarta Server Pages

voir JSP. Jakarta Server Pages (anciennement JavaServer Pages) ou JSP est une technique basée sur Java qui permet aux développeurs de créer dynamiquement

Programmation web

composants JavaBeans existants. Portabilité : très grande portabilité grâce à Java : serveurs Apache mais aussi IIS, etc. Mise en place : utilisation de Java comme