Dans l'article d'aujourd'hui, nous allons plonger dans le monde fascinant de JavaBeans. Ce sujet, qui a retenu l’attention des experts et des passionnés, nous offre un large éventail d’aspects intéressants à explorer. De son impact sur la société à sa pertinence aujourd'hui, JavaBeans est un sujet qui continue de susciter des débats et des discussions. Tout au long de cet article, nous tenterons de mettre en lumière les différents aspects et perspectives entourant JavaBeans, dans le but de donner une vision plus complète et enrichissante de son importance. Alors préparez-vous à vous plonger dans l'univers passionnant de JavaBeans et découvrez tout ce que ce thème a à offrir.
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.
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 :
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.
// 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 "
System.out.print(person.getName());
System.out.println(person.isMajor() ? " " : " ");
}
}
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.