Article Outline
Spring
Spring rend la programmation Java plus rapide, plus facile et plus sûre pour tous. L'accent mis par Spring sur la vitesse, la simplicité et la productivité en a fait le framework Java le plus populaire au monde.
Commandes
- Execution avec maven
mvn spring-boot:run
- Execution avec java
java -jar [chemin_vers_le_JAR]
Dependencies
- Spring Data JDBC : La technologie JDBC (Java DataBase Connectivity) est un ensemble de classes permettant de développer des applications capables de se connecter à des serveurs de bases de données.
- Lombok : librarie pour optimiser certaines classes, je vous en parle un peu plus loin dans le chapitre.
- H2 Database : librarie H2 est une base de données relationnelle Java très légère.
- Spring Data JPA : Permet de gérer la persistance des données avec la base de données ; peut-être le plus difficile à identifier pour vous si vous n’avez jamais fait de persistance de données avec Spring.
- Applications
- Spring Boot : Aide à créer des applications et des services de production alimentés par Spring, avec un minimum d'efforts. Il présente la plate-forme Spring sous un angle neutre afin que les utilisateurs, nouveaux ou existants, puissent accéder rapidement aux éléments dont ils ont besoin.
- Spring Boot Actuator : Permet de monitorer et de manager notre programme pendant qu’il est en cours d’exécution.
Fichier application.properties
- spring.application.name= Nom de l'application
- logging.level.org.springframework= Affichage uniquement des logs d'un niveau (ex:ERROR)
Glossaire
- Décorateurs/Annotation
- @Bean : JavaBean est une classe Java qui doit respecter les conventions suivantes :
- Elle doit avoir un constructeur sans argument.
- Elle doit être sérialisable (la sérialisation est le codage d'une information sous la forme d'une suite d'informations plus petites).
- Elle doit fournir des méthodes pour définir et obtenir les valeurs des propriétés, connues sous le nom de méthodes getter et setter.
- @SpringBootApplication : La concaténation de plusieurs annotations, et son objectif est de déclencher toute la mécanique interne de Spring.
- @SpringBootConfiguration : La classe sera utilisée comme une classe de configuration.
- @EnableAutoConfiguration : Active la fameuse fonctionnalité d’autoconfiguration de Spring Boot, que je vous ai tant vantée.
- @ComponentScan : Active le “scanning” de classes dans le package de la classe et dans ses sous-packages. Sans cette annotation, l’IoC container ne tiendra pas compte de vos classes, même si vous avez ajouté une annotation sur celles-ci. .
- @Component : Permet de déclarer la classe BeanImpl auprès de Spring, comme étant un bean à avoir dans l’IoC container.
- @Qualifier : Permet de donner un nom à ce bean, en l'occurrence “myBean” (si cette annotation n’est pas définie, le nom par défaut est le nom de la classe).
- @Autowired : Chercher au sein de son contexte s’il existe un bean du type demandé.
- @SpringBootTest : Permet lors de l’exécution des tests d’initialiser le contexte Spring.
- @Test : annotation qui provient de JUnit.
- Accronimes
- DAO : Data Access Objet
- IoC : Inversion of Control.
- Définitions
- IoC container : La construction des objets de notre application va être déléguée à ce composant que l'on appelle un conteneur IoC (IoC container). Ce conteneur accueille un ensemble d'objets dont il a la responsabilité de gérer le cycle de vie. Le Spring Framework est avant tout un conteneur IoC.