HOME/Articles/

Spring

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.