Bien débuter avec Spring et Spring Boot pour Java
- Objectifs pédagogiques
- Sections du cours
- Avis
Spring et Spring Boot sont LES librairies qu’un développeur Java doit absolument connaître. Les 3/4 des applications Java d’aujourd’hui utilisent Spring quelque part.
Dans ce cours de 10 heures vous apprendrez les fondements qu’il est essentiel et indispensable de connaître lorsque l’on est développeur Java (Attention ce cours exploite Java et non Kotlin ou Groovy).
Spring est vaste, très vaste et ce cours n’est pas une énumération exhaustive des APIs de Spring mais un cours sur les APIs que vous allez forcément utiliser !
Au programme :
- Le framework Spring, pourquoi et comment !
- Spring Boot l’essentiel !
- Spring MVC, le Web avec Thymeleaf et les API ReST
- Spring JDBC : lire et écrire dans une base de données relationnelle
- Spring JPA avec Hibernate et les mappings les plus communs
- Spring Data sur JDBC et JPA sans fioritures !
- La gestion transactionnelle @Transactional, la base
- Spring Cloud et les microservices, l’architectures, Eureka et un peu de programmation réactive
Pas au programme :
- Spring AOP et Aspect J, parce que 99% d’entre vous n’en auront pas explicitement besoin
- Les détails de la gestion transactionnelle, parce que si vous en êtes là, Internet suffit
- Le messaging et Spring Batch parce que ça s’utilise dans des contextes particuliers, ça ne fait pas partie de l’indispensable
- Les tests … Là j’ai pas de bonne excuse ?, ça viendra promis juré ?
- Et puis tout le reste qui est pas mentionné plus haut, parce que vous serez alors assez doué pour l’apprendre tout seul ?
On apprend rien sans y mettre les mains, alors rien que pour vous :
- 30+ exercices fil rouge corrigés dont les sources sont disponibles sur GitHub
- Je réponds à TOUTES LES QUESTIONS depuis 2017 dans un délai de 48h
- Et non ce n’est pas une application complète parce que il y a rien de plus ennuyeux que de répéter 50 fois les même bouts de code (Vous le ferez bien assez dans la vraie vie).
Ce cours présenté avec la seule et unique DERNIERE VERSION DE JAVA EN LTS (avant 2021) c’est à dire Java 11 mais le cours est compatible avec les versions supérieures.
Il vous sera recommandé d’utiliser IntelliJ Community pour les développements, un environnement de référence et gratuit.
Le cours est présenté par moi même, Jean-Philippe Ehret, si vous ne me connaissez pas encore et bien dans 10 heures vous en aurez marre de me voir surtout m’écouter alors vous n’aurez probablement pas envie de me connaître plus. Mais si vous en voulez encore j’ai une chaîne YouTube sur le développement avec Java avec des trucs qui sont pas sur Udemy alors n’hésitez pas à y faire un saut !
Sinon, je n’ai plus qu’une seule chose à dire : Ne ratez pas ce cours ! Commencez MAINTENANT et changez votre vision du développement Java pour toujours !
JP
-
1Présentation du coursLeçon vidéo
-
2Rappel : Librairies Java et introduction à MavenLeçon de texte
-
3Guide de survieLeçon vidéo
Avant de commencer, rejoignez la communauté des étudiants sur le serveur discord !
https://discord.gg/VpVkSmk
-
4Spring InitializrLeçon vidéo
-
5Premier fonctionnelLeçon vidéo
-
6IllustrationLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : ILLUSTRATION
-
7DVDStore : Entités métier, services métier et premier RepositoryLeçon de texte
-
8Le problème de la flexibilité des applicationsLeçon vidéo
-
9DVDStore : Repository alternatif et couche de contrôleLeçon de texte
-
10Programmation par contratLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : CONTRAT
-
11DVDStore : Création des interfacesLeçon de texte
-
12Injection de dépendanceLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : INJECTION
-
13DVDStore : Injection des implémentationsLeçon de texte
-
14Inversion de contrôleLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : INVERSION_CONTROLE
-
15DVDStore : Changement de perspectiveLeçon de texte
-
16RécapitulonsLeçon vidéo
-
17Conteneur léger SpringLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : CONTENEUR_LEGER
-
18DVDStore : Exploiter le conteneur légér SpringLeçon de texte
-
19Affectation d'une valeur à une propriétéLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : PROPERTY_VALUE
-
20DVDStore : Valoriser une propriété de type FileLeçon de texte
-
21Autowiring byName et byTypeLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : AUTOWIRING_BYNAME_BYTYPE
-
22DVDStore : Injection automatique des dépendancesLeçon de texte
-
23Configuration par annotationLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : ANNOTATION_CONFIG
-
24DVDStore : Annotation des dépendancesLeçon de texte
-
25Valorisation des propriétés par annotation : @Value et fichier de propriétésLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : ANNOTATION_PROPERTY
-
26DVDStore : Annotation du chemin du fichier csvLeçon de texte
-
27Détection automatique des beansLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : COMPONENT_SCAN
Les annotations @Component, @Repository, @Controller, @Service et la balise component-scan
-
28Gérer les conflits de dépendancesLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : CONFLIT_DEPENDANCES
-
29DVDStore : Détection automatique des beansLeçon de texte
-
30Se passer du fichier XMLLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : JAVA_CONFIG
AnnotationConfigApplicationContext, @ComponentScan, @Configuration et @PropertySource
-
31DVDStore : Se passer du fichier XMLLeçon de texte
-
32Les classes de configuration plus en détailLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : CONFIGURATION_BEANS
-
33DVDStore : Déplacer les annotations vers la classe exécutableLeçon de texte
-
34SpringBootApplicationLeçon vidéo
-
35DVDStore : Passer à Spring BootLeçon de texte
-
36Spring Boot et MavenLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : SPRING_BOOT_PARENT
-
37DVDStore : Standards MavenLeçon de texte
-
38Fat Archive - Déployer une application en productionLeçon vidéo
-
39Présentation de la sectionLeçon vidéo
-
40Spring Boot Web StarterLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : SPRING_BOOT_STARTER_WEB
-
41DVDStore : Mettre en place le serveur d'applicationLeçon de texte
-
42Auto-configuration SpringLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : AUTO_CONFIGURATION
-
43DVDStore : Changer le port et le context rootLeçon de texte
-
44Ressources Web statiquesLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : STATIC_FILES
-
45DVDStore : Fichiers statiques hors de l'applicationLeçon de texte
-
46Spring MVC : Le controleur frontal (Front Controller)Leçon vidéo
-
47Spring MVC : Les controleurs WebLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : CONTROLLER
-
48DVDStore : About UsLeçon de texte
-
49Spring MVC : Les vues avec ThymeleafLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : VUE_THYMELEAF
spring.mvc.locale-resolver=fixed
spring.mvc.locale=fr_FR
-
50DVDStore : About Us pageLeçon de texte
-
51Spring MVC : Affichage de données dans la vue - Le modèleLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : MODELE
-
52DVDStore : Afficher la liste des FilmsLeçon de texte
-
53ModularitéLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : MODULARITE
GitHub : https://github.com/jehret/invoise-web
Branch : MODULARITE
-
54DVDStore : Séparer les responsabilitésLeçon de texte
-
55Paramètre de requête et préparation à ReSTLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : PATH_VARIABLE
GitHub : https://github.com/jehret/invoise-web
Branch : PATH_VARIABLE
-
56DVDStore : Afficher le détails d'un filmLeçon de texte
-
57Spring MVC : Gestion de formulaireLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : FORM
GitHub : https://github.com/jehret/invoise-web
Branch : FORM
-
58DVDStore : Ajouter un filmLeçon de texte
-
59Validation des beansLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : FORM_VALIDATION
GitHub : https://github.com/jehret/invoise-web
Branch : FORM_VALIDATION
-
60DVDStore : Valider le formulaire d'ajoutLeçon de texte
-
61Affichage des erreurs de saisieLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : SPEL_ERROR_MESSAGES
GitHub : https://github.com/jehret/invoise-web
Branch : SPEL_ERROR_MESSAGES
-
62DVDStore : Afficher les messages d'erreurLeçon de texte
-
63Rappels : Web Services ReSTLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : REST_INTRO
GitHub : https://github.com/jehret/invoise-web
Branch : REST_INTRO
-
64ResponseBody, RequestBody et RestControllerLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : RESTCONTROLLER
GitHub : https://github.com/jehret/invoise-web
Branch : RESTCONTROLLER
-
65DVDStore : Créer une API pour les FilmsLeçon de texte
-
66Expérimenter les services ReSTLeçon vidéo
-
67Exploiter les services ReST dans l’applicationLeçon vidéo
GitHub : https://github.com/jehret/invoise
Branch : EXPLOITER_WEBSERVICE
GitHub : https://github.com/jehret/invoise-web
Branch : EXPLOITER_WEBSERVICE
-
68DVDStore : Exploiter l'API ReST dans les pages HTMLLeçon de texte