Bonjour . Bonsoir;
Est-ce quelqu'un pourrait m'expliquer ce qu'est un POJO, j'ai lu plusieurs définitions mais me semble-t-il différentes.
Merci
Bonjour . Bonsoir;
Est-ce quelqu'un pourrait m'expliquer ce qu'est un POJO, j'ai lu plusieurs définitions mais me semble-t-il différentes.
Merci
as-tu été voir sur wikipedia?
[ame="http://fr.wikipedia.org/wiki/Plain_Old_Java_Object"]http://fr.wikipedia.org/wiki/Plain_Old_Java_Object[/ame]
ça me parait être une bonne définition...
POJO => Plain Old Java Object
c'est à dire "un bon vieil object java", une simple classe sans fioritures autour
Merci,
Qu'entendez-vous par fioritures ?
Vous voulez dire un simple .java et pas de .jsp ou autres fichiers de frameworks ?
Salut,
En général ce terme est mis en opposition aux EJBs, qui nécessitent une mise en place assez lourde...
a++
POJO est l'autre nom pour JavaBean 1.0. C'est une classe avec des attributs et des getters et setters pour chacun de ses attributs, sans rien de plus.
Euh non, un bean est déjà plus évolué qu'un POJO : il a plusieurs conventions à respecter, dont la sérialisation, et le support des événements.
Exemple de POJO parfaitement valide :
Exemple de JavaBean minimal (pour ainsi dire) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public class Personne { public String nom; public String prénom; // Oui, l'accent est supporté en Java. public List<Addresse> adresses; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 public class Personne implements java.io.Serializable { private static long serialVersionUID = 123456789L; private final PropertyChangeSupport pcs = new PropertyChangeSupport(this); private String nom; private String prénom; private Adresse[] adresses; public String getNom () { return this.nom; } public void setNom (String nom) { String oldNom = this.nom; this.nom = nom; this.pcs.firePropertyChange("nom", oldNom, nom); } public String getPrénom () { return this.prénom; } public void setPrénom (String prénom) { String oldPrénom = this.prénom; this.prénom = prénom; this.pcs.firePropertyChange("prénom", oldPrénom, prénom); } public Adresse[] getAdresses() { return this.adresses; } public void setAdresses(Adresse[] adresses) { String oldAdresses = this.adresses; this.adresses = adresses; this.pcs.firePropertyChange("adresses", oldAdresses, adresses); } public Adresse getAdresses(int i) { return this.adresses[i]; } public void setAdresses(int i, Adresse adresses) { this.oldAdresses = this.adresses[i]; this.adresses[i] = adresses; this.pcs.fireIndexedPropertyChange(i, "adresses", oldAdresses, adresses); } public void addPropertyChangeListener(java.bean.PropertyChangeListener listener) { this.pcs.addPropertyChangeListener(listener); } public void removePropertyChangeListener(java.bean.PropertyChangeListener listener) { this.pcs.removePropertyChangeListener(listener); } }
Bonjour;
Le java bean que avez listé n'est pas un POJO si comprends bien ? Car d'après mes recherches, un POJO ne contient ni 'extends' ni 'implements' et se contente de ses déclarations propores.
Je ne pense pas qu'il faille chercher une définition si précise à POJO. Un POJO est juste "simple." Plain Old Java Object => Bon Vieil Objet Java des familles qui se prend pas la tête.
C'est par opposition aux anciens EJB, des objets très compliqués à implémenter, qui étendent et implémentent des millions de trucs et noient leur "code utile" dans le code d'architecture incompréhensible.
Par opposition, un POJO se contente de contenir des données en les déclarant simplement, en fournissant des getters/setters, et ne faisant rien ou presque rien d'autre.
Après, si on fait un POJO et que ça nous arrange qu'il implémente Serializable ou Comparable, ou qu'il étende un autre POJO, ce n'est pas bien grave.
petite question cependant et pr reprendre ce qui est dit ds un message précédent, un POJO peut il étendre une autre classe ? implémenter une interface ? ou lui même faire partie d'une hiérarchie d'héritage ?
Y a t'il une doc là dessus ?
Comme le dit mon précédent message, il n'y a pas de définition précise à POJO. Un POJO est juste "simple," et on peut aussi ajouter que son but premier est de contenir des données, et pas beaucoup d'appliquer de la logique dessus. (Ce qui n'empêche pas d'appliquer de la logique triviale.)
Partager