Introduction à Spring
Présentation du framework java/J2EE numéro 1   Nathaniel Richand
                                   ...
Introduction à Spring


            • Place de Spring dans l’écosystème Java

            • Que fait Spring?

            ...
Place de Spring dans
                                    l’écosystème Java



© British Telecommunications plc
Qu’est ce que Spring?

• Spring est un framework de développement Java basé
  sur la notion de conteneur léger.

• Spring ...
Concepts de Spring


A partir des critiques portés sur la plateforme J2EE
  « historique », Spring met en avant ces concep...
Offres d’emplois en Java




 Au moins 50% des
nouveaux projets java
en 2009 utilise Spring.
© British Telecommunications ...
Que fait Spring?




© British Telecommunications plc
Tout d’abord : que faites vous?

                                                                   JDO  JDBC
            ...
Intégration des APIS


• Maîtrisez vous toutes ces API?

• Comment se passe l’intégration
  avec votre application?

• Con...
La stack Spring

                          Hibernate




                                                              Str...
Injection de dépendance et
                                  AOP



© British Telecommunications plc
IOC – Inversion Of Control


                                   Classe A                Classe B
                         ...
IOC – Inversion Of Control (2)
                                   Classe A                    Interface I




            ...
DI avec XML (Demo)


<bean id=quot;shoppingDaoquot;
  class=quot;fr.bt.springdemo.ShoppingDaoImplquot; /
  >

<bean id=quo...
DI avec Javaconfig (Demo)

@Configuration
public class Config {

@Bean
public ShoppingDao shoppingDao(){
  return new Shop...
AOP

• L’AOP permet de séparer les différents préoccupations
  techniques et fonctionnelles.




Préoccupations mélangés  ...
Exemple de facilitateur :
                                JDBCTemplate


                                    Exemple inspi...
JDBCTemplate




                                   Démo



© British Telecommunications plc
JDBCTemplate - Résumé


Avantages de la solution
• Séparation des couches. Découplage grâce à l’IOC.

• Uniformisation des...
Conclusion



© British Telecommunications plc
Conclusion

  g La configuration par XML rend la configuration très verbeuse et
    difficile à lire sur de grosses applic...
Conclusion

• Spring a largement pénétré le monde industriel et jouit d’une
  communauté importante et dynamique.

• Sa pr...
Ressources


• Site officiel :
            http://www.springsource.org


• Articles :
            http://zekey.developpez....
Prochain SlideShare
Chargement dans…5
×

Presentation Spring

8 035 vues

Publié le

Voici une courte présentation de ce qu'est Spring.
L'inversion de dépendance ainsi que la notion de facilitateur sont principalement mise en avant.

Publié dans : Technologie, Formation
0 commentaire
5 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
8 035
Sur SlideShare
0
Issues des intégrations
0
Intégrations
165
Actions
Partages
0
Téléchargements
435
Commentaires
0
J’aime
5
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Presentation Spring

  1. 1. Introduction à Spring Présentation du framework java/J2EE numéro 1 Nathaniel Richand 05/2009
  2. 2. Introduction à Spring • Place de Spring dans l’écosystème Java • Que fait Spring? • Injection de dépendance et AOP • Exemple de facilitateur • Conclusion © British Telecommunications plc
  3. 3. Place de Spring dans l’écosystème Java © British Telecommunications plc
  4. 4. Qu’est ce que Spring? • Spring est un framework de développement Java basé sur la notion de conteneur léger. • Spring existe depuis 2002, la dernière version est la 2.5. La version 3.0 est en béta. • Spring est un projet Open Source de licence Apache dont le support et les évolutions sont réalisées par la société SpringSource. • Spring est composé de très nombreuses briques, mais l’on peut utiliser uniquement les parties qui nous intéresse sans se soucier des autres. © British Telecommunications plc
  5. 5. Concepts de Spring A partir des critiques portés sur la plateforme J2EE « historique », Spring met en avant ces concepts. • Robustesse • Extensibilité • Réutilisabilité Spring essaye de proposer l’état de l’art, les « best practices ». © British Telecommunications plc
  6. 6. Offres d’emplois en Java Au moins 50% des nouveaux projets java en 2009 utilise Spring. © British Telecommunications plc
  7. 7. Que fait Spring? © British Telecommunications plc
  8. 8. Tout d’abord : que faites vous? JDO JDBC JSP / Servlet JSF Hibernate Ibatis Flex Portlet JPA Struts Groovy GWT Grails Tapestry Jruby AOP JAVA Mail AspectJ Restlet Metro RMI JMS Axis CXF XSLT JCA Unitils Junit JMX DBUnit TestNG Quartz © British Telecommunications plc Itext
  9. 9. Intégration des APIS • Maîtrisez vous toutes ces API? • Comment se passe l’intégration avec votre application? • Connaissez vous les bonnes pratiques de chacune? © British Telecommunications plc
  10. 10. La stack Spring Hibernate Struts JDO JSF Spring Web Services … MVC … JMS Spring Spring ORM JDBC Web Test Spring … Spring Spring DAO Spring Context … Remoting Spring Core © British Telecommunications plc IOC AOP
  11. 11. Injection de dépendance et AOP © British Telecommunications plc
  12. 12. IOC – Inversion Of Control Classe A Classe B Dépendance • L’IOC est un Design Pattern permettant de casser les dépendances. • Il se base sur la notion d’abstraction commune (interface en Java). • C’est le framework qui à la charge d’injecter les dépendances. © British Telecommunications plc
  13. 13. IOC – Inversion Of Control (2) Classe A Interface I Dépendance Classe B Module A Module B Module C Framework © British Telecommunications plc
  14. 14. DI avec XML (Demo) <bean id=quot;shoppingDaoquot; class=quot;fr.bt.springdemo.ShoppingDaoImplquot; / > <bean id=quot;shoppingServicequot; class=quot;fr.bt.springdemo.ShoppingServicequot;> <property name=quot;shoppingDaoquot; ref=quot;shoppingDaoquot;></property> </bean> © British Telecommunications plc
  15. 15. DI avec Javaconfig (Demo) @Configuration public class Config { @Bean public ShoppingDao shoppingDao(){ return new ShoppingDaoImpl(); } @Bean public ShoppingService shoppingService(){ ShoppingService service = new ShoppingService(); service.setShoppingDao(shoppingDao()); return service; } } © British Telecommunications plc
  16. 16. AOP • L’AOP permet de séparer les différents préoccupations techniques et fonctionnelles. Préoccupations mélangés Préoccupations séparés © British Telecommunications plc
  17. 17. Exemple de facilitateur : JDBCTemplate Exemple inspiré de : SPRING Recipes – A Problem-Solution Approach Apress © British Telecommunications plc
  18. 18. JDBCTemplate Démo © British Telecommunications plc
  19. 19. JDBCTemplate - Résumé Avantages de la solution • Séparation des couches. Découplage grâce à l’IOC. • Uniformisation des Exceptions qu’elle que soit la technologie de persistance. • Diminution du volume de code grâce aux classes utilitaires. • Standardisation et simplification des transactions. © British Telecommunications plc
  20. 20. Conclusion © British Telecommunications plc
  21. 21. Conclusion g La configuration par XML rend la configuration très verbeuse et difficile à lire sur de grosses applications. Éléments de solutions : • Utiliser la configuration par annotations de Spring 2.5 • Utiliser les outils d’affichage de graphe de dépendance tel Spring IDE ou BeanDoc (JavaDoc évolué avec les graphes de Spring) Spring est très ouvert et ne limite pas les comportements : Pour un même problème il existe parfois une multitude de solutions différentes, ce qui peut être déroutant. Si Spring facilite l’intégration et l’utilisation de librairies tierces, la compréhension et la connaissance de celles-ci reste nécessaire. Le comportement générique n’est pas forcément celui adapté à nos besoins. © British Telecommunications plc
  22. 22. Conclusion • Spring a largement pénétré le monde industriel et jouit d’une communauté importante et dynamique. • Sa prise en main est très facile et très intuitive basée sur le principe « Convention over Configuration » • La documentation est très importante : le manuel de référence fait 590 pages, il existe plus de 20 livres sur Spring. • Spring encadre les développements en instaurant les best practices Java et J2EE. • Spring est très modulaire et surtout très peu intrusif, on peut se passer de Spring sur un composant et effectuer la configuration à la main ou avec d’autres outils. On ne se lit pas « ad vitam eternam » à Spring. © British Telecommunications plc
  23. 23. Ressources • Site officiel : http://www.springsource.org • Articles : http://zekey.developpez.com/articles/spring/ http://www.springhub.com/ http://blog.springsource.com/ • Forum : – Anglais : http://forum.springsource.org/ – Français : Forum developpez.com • Livres : – Spring par la pratique (édition eyrolles) – Spring Recipes (Apress) © British Telecommunications plc

×