SPRING et les objets
Fermé
xflamant
-
7 févr. 2008 à 18:56
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 - 2 juin 2008 à 21:31
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 - 2 juin 2008 à 21:31
A voir également:
- SPRING et les objets
- Site pour vendre des objets d'occasion - Guide
- Ryanair objets interdits - Guide
- Combien de temps restent les empreintes digitales sur un objet - Forum Vos droits sur internet
- Spring télécharger - Télécharger - Stratégie
- Les objets du net avis ✓ - Forum Consommation & Internet
2 réponses
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
2 juin 2008 à 21:31
2 juin 2008 à 21:31
Bonsoir
Question 1:
N'oublie pas tes setters dans ta classe. Sinon pour l'instanciation, samy27 t'a répondu.
Pour ce que Spring apporte de plus, j'en parlerai dans la question 2 ;)
Question 2:
Effectivement, tu dois déclarer un autre bean dans ton applicationContext.xml.
Ce n'est pas si lourd que ça finalement, parce que Spring est conçu pour développer des applis web, et qu'en général, tu n'as pas de bean prenant des paramètres si spécifiques.
Genre tu as un bean factory, des dao pour accéder à tes bases de données, qui ne prennent que la factory en property, puis tes classes objets et/ou services qui sont déclarées, et qui prennent tes beans précédemment définis en property.
Spring est un framework très vaste qui peut faire plein de trucs (l'injection de dépendances, c'est juste un module de Spring, mais il y a aussi la réalisation du pattern MVC, la programmation par aspects...).
Pour bien comprendre l'injection de dépendances, je te conseille la lecture de cet article :
https://martinfowler.com/articles/injection.html
Personnellement, j'ajouterai l'exemple suivant :
Imagine que tu manipules tous tes objets par des interfaces. Tu as donc beaucoup de fois dans ta classe du code ressemblant à ça :
L'un des avantages de l'injection de dépendances, c'est de pouvoir ignorer totalement l'implémentation de ton interface (c'est un peu de la programmation par contrat). Tu déclares donc ton interface dans ta classe, et tu fournis son implémentation dans ton applicationContext. Ainsi, si un jour tu décides de créer une autre classe implémentant ton interface, tu modifies simplement la définition du bean dans ton applicationContext, tu n'as pas besoin de recompiler et de relivrer les binaires, et tes modifications sont totalement transparentes.
J'espère t'avoir éclairé un peu.
Question 1:
N'oublie pas tes setters dans ta classe. Sinon pour l'instanciation, samy27 t'a répondu.
Pour ce que Spring apporte de plus, j'en parlerai dans la question 2 ;)
Question 2:
Effectivement, tu dois déclarer un autre bean dans ton applicationContext.xml.
Ce n'est pas si lourd que ça finalement, parce que Spring est conçu pour développer des applis web, et qu'en général, tu n'as pas de bean prenant des paramètres si spécifiques.
Genre tu as un bean factory, des dao pour accéder à tes bases de données, qui ne prennent que la factory en property, puis tes classes objets et/ou services qui sont déclarées, et qui prennent tes beans précédemment définis en property.
Spring est un framework très vaste qui peut faire plein de trucs (l'injection de dépendances, c'est juste un module de Spring, mais il y a aussi la réalisation du pattern MVC, la programmation par aspects...).
Pour bien comprendre l'injection de dépendances, je te conseille la lecture de cet article :
https://martinfowler.com/articles/injection.html
Personnellement, j'ajouterai l'exemple suivant :
Imagine que tu manipules tous tes objets par des interfaces. Tu as donc beaucoup de fois dans ta classe du code ressemblant à ça :
MonInterface inter = new Implementation();
L'un des avantages de l'injection de dépendances, c'est de pouvoir ignorer totalement l'implémentation de ton interface (c'est un peu de la programmation par contrat). Tu déclares donc ton interface dans ta classe, et tu fournis son implémentation dans ton applicationContext. Ainsi, si un jour tu décides de créer une autre classe implémentant ton interface, tu modifies simplement la définition du bean dans ton applicationContext, tu n'as pas besoin de recompiler et de relivrer les binaires, et tes modifications sont totalement transparentes.
J'espère t'avoir éclairé un peu.
samy27
Messages postés
2
Date d'inscription
lundi 2 juin 2008
Statut
Membre
Dernière intervention
2 juin 2008
2 juin 2008 à 17:23
2 juin 2008 à 17:23
Spring IoC va nous permettre de créer une application 3tier où les couches sont indépendantes des autres, c.a.d. que changer l'une ne nécessite pas de changer les autres, apporte une grande souplesse dans l'évolution de l'application.
Pour instancier les objets:
apres bien evidement fait le necéssaire sur le classpath (ajouter les .jar qu'il fo :-)) ):
// exploitation fichier de configuration spring
final XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("spring.xml"));
// récupération du bean [personne1]
UnBean personne1 = (UnBean) bf.getBean("monbean");
Pour instancier les objets:
apres bien evidement fait le necéssaire sur le classpath (ajouter les .jar qu'il fo :-)) ):
// exploitation fichier de configuration spring
final XmlBeanFactory bf = new XmlBeanFactory(new ClassPathResource("spring.xml"));
// récupération du bean [personne1]
UnBean personne1 = (UnBean) bf.getBean("monbean");