Spring logo

The Spring Framework Learning path.

Le framework Spring rend le developpement d'applications Java Entreprise plus facile. Il contient tous les outils necessaires pour developper plus rapidement des applications Java EE (Entreprise Edition). A la base, Spring a été developé pour resoudre les complexités des specifications de J2EE pour les applications JAVA EE.

Spring est basé sur 3 concepts cléfs (Core Technologies), qui sont le Ioc (Inversion of Control) Container, AOP (Aspect Oriented Programming) et le AOT (Ahead of time). Pour comprendre tous ces concepts, Spring a une bonne documentation très explicite.

Un des concepts de Spring est la notion de Bean. Un Bean n'est autre qu'un objet classique Java, un POJO, qui suit un pattern specifique. Par exemple tous les champs de cette classe doivent être private; On doit utiliser des getters et des setters; et finalement il doit avoir un constructeur sans argument et implémenter l'interface serializable. Cet objet est par la suite, instantié, assemblé et géré par le Container IoC de Spring. Le Bean peut être crêe au moment de l'initiation de l'Application Context ou il peut être ajouté dans l'Application Context. A noter que l'Application context n'est au autre que le Spring IoC container. C'etait une brève description de Spring.

Je vous invite fortement à lire la documentation de Spring. D'ailleurs elle est très complète, explicite pour avoir un hands on la-dessus. Il y a aussi beaucoup d'exemples qui peuvent aider à demarrer.

C'est quoi SpringBoot?
SpringBoot c'est un projet de Spring qui facilite la création d'applications basé sur le framework Spring. Ca necessite une configuration minimale pour demarrer l'application c'est juste un "Just run".

Les fonctionnalités de SpringBoot
  • Creation des applications Stand-alone
  • Mise à disposition d'un serveur Web tel que Undertow, Netty, Tomcat. Plus besoin de deployer des fichiers .war sur des serveurs d'applications comme JBOSS, WebSphere etc...
  • Utilisation des dependances de demarrage "starter" pour la configuration du build
  • Configuration facile et rapide de Spring avec les librairies tiers
  • Plus besoin de fichiers XML pour la configuration et bien d'autres encore...