Objectifs de la formation
- Comprendre les apports du framework Spring (IoC, AOP, ...). - Savoir mettre en place une IDE productif et bonnes pratiques de développement. - Savoir gérer la configuration des propriétés et des composants d'une application. - Être capable d'implémenter toutes les couches d'une application Web d'entreprise (Web/Rest, Service, Accès aux données...). - Savoir mettre en oeuvre la sécurité au sein de son développement Spring. - Savoir mettre en oeuvre des tests avec Spring.
Contenu de la formation
- Introduction au framework Spring. La genèse du projet, son positionnement vis à vis de Java EE. L'offre de Pivotal Software, les cas d'usage du framework, les 10 commandements d'un projet Spring. IoC et l'injection de dépendance : Le design pattern au coeur du framework. Les types d'injections supportés par Spring. Spring :en tant qu'Usine à Bean, de conteneur léger. Comment configurer le framework : XML, annotations, l'auto-configuration avec Spring Boot. - Spring Coeur. *Spring : Un conteneur léger. Parcours des APIs BeanDefinition, BeanFactory et ApplicationContext. Le cycle de vie des beans. L'interface Environment : propriétés de configuration et profils. Les autres fonctionnalités coeur : SpEl, Messages, Chargement de ressources. *Spring et les annotations. Configuration via annotations. @Configuration et @Bean. @Component et ses différents stéréotypes. Injecter des dépendances via les annotations : @Autowired, @Resource, @Inject. L'injection implicite par constructeur. Annotations pour les profils, leur cas d'usage, les modes d'activation. *Spring AOP. Les concepts de l'AOP, les problèmes résolus pas l'AOP. La terminologie utilisée : aspect, joinpoint, advice, shortcut, weaving. Les différents types d' « advice » : around, before, throws, after. Quel est le support de l'AOP dans Spring ?. Configuration XML, bénéfices/inconvénients. Intégration avec le framework @AspectJ, l'AOP via les annotaions. - Spring Boot. Le principe de l'auto-configuration, application à Java. Comment démarrer ? Spring Initializr et les starters disponibles. Un unique fichier : Gestion des propriétés de configuration. Assistance de L'IDE Spring Tools Suite. - Spring Data et l'accès aux données (JDBC / Hibernate / JPA / NoSQL). L'objectif de Spring Data, les abstractions Repository et CrudRepository. Les alternatives pour le requêtage des objets du domaine. Application à JPA : Spring Data JPA. Les classes de support fournis : JdbcTemplate, HibernateTemplate. Comment gérer les transactions, l'annotation @Transactional. Les apports de l'auto-configuration SpringBoot pour configurer les DataSource. Application à NoSQL : Spring Data MongoDB. Requêtage et classe de support. Les apports de l'auto-configuration SpringBoot, Un MongoDB embarqué. - Applications Web avec Spring MVC. *Spring MVC pour les applications Web. *Spring MVC pour les APIs RESTFul. - Spring Security. - Spring et les tests. - Déploiement des applications Spring.
Résultats de la formation
Attestation d'acquis ou de compétences;Attestation de suivi de présence
Conditions spécifiques d'accès à la formation
Les participants doivent disposer d une bonne connaissance de Java concretisee dans un ou plusieurs projets professionnels. Pour profiter pleinement de tous les chapitres, ils doivent etre sensibilises aux problematiques web, d acces aux donnees (persistance) et de tests d application.