Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Spring Boot

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 5

Le Framework Spring est l’un des Framework les plus populaires pour le développement

des applications en Java. il est très utile pour l’injection de dépendance (DI – Dependency
Injection) ou l’inversion de contrôle (IOC – Inversion Of Control), qui aide à développer des
applications à couplage faible, ce qui aide automatiquement à tester correctement toute
application Java.
 
 
Qu’est ce que Spring?
Il existe de nombreuses fonctionnalités, y compris dans le Framework Spring, qui est
également très populaire. Ces fonctionnalités peuvent être divisées en vingt modules, ce qui
permet de résoudre de nombreux problèmes fréquents dans toute application java. Certains
modules populaires sont expliqués ci-dessous:

 Spring JDBC : Chaque fois que nous voulons extraire des données d’une base de

données SGBDR, nous pouvons utiliser la structure JDBC par défaut de Spring.

 Spring MVC : Principalement utilisés pour développer une application Web.

 Spring ORM : Est un module couvrant de nombreuses technologies de persistance,

notamment JPA, JDO, Hibernate et iBatis. Spring fournit des classes d’intégration pour

chacune de ces technologies, de sorte que chaque technologie puisse être utilisée

conformément aux principes de configuration de Spring et s’intègre facilement avec la

gestion des transactions de Spring.

 Spring AOP : La programmation orientée aspect (AOP) complète la programmation

orientée objet (POO) en offrant une autre façon de penser à la structure du programme.

 Spring JMS : JMS (Java Message Service) est un middleware utilisé pour envoyer

des messages entre clients en envoyant des messages vers une file d’attente de messages,

qui sont ensuite utilisés chaque fois que possible pour exécuter une transaction.

 Spring Test

 Spring Expression Language (SPEL)

 
 
Qu’est ce que Spring boot?
Spring boot est en fait basé sur toutes les fonctionnalités par défaut du spring. Core Spring
et MVC peuvent gérer des fonctions complètes de n’importe quelle application Java. Selon la
complexité et la configuration, spring boot peut nous aider beaucoup à réduire la complexité
liée à la configuration du spring.
 
Autrement dit, Spring Boot est une extension du framework Spring, qui mis à part les
configurations standard requises pour la configuration d’une application Spring.
 
Il adopte une vision de Spring, et a un éco-système de développement plus rapide et plus
efficace.
 
Voici quelques-unes des fonctionnalités de Spring Boot:

 Dépendances de type « starter » pour simplifier la construction et la configuration de

l’application

 Serveur intégré pour éviter la complexité lors du déploiement d’applications

 Métriques, vérification et configuration externalisée

 Configuration automatique

Inversion de contrôle : le contrôle sur l’objet est inversé, le programmer ne plus lui qui

contrôle l’objet mais le conteneur IOC, donc les classes ne s’occupe pas de l’instanciation

des autres classes.

Injection de dépendance : injection d’un Bean dans un autre pour trouver automatiquement

les composant dont on a besoin au moment de l’exécution.

L'implémentation de l'injection de dépendances proposée par Spring peut se faire de deux


façons :

 Injection par le constructeur


 Injection par un setter

la meilleure façon d'injecter des Bean : L'approche recommandée consiste à utiliser les
arguments constructor pour les dépendances obligatoires et les setters pour les
dépendances facultatives. L'injection de constructeur permet d'injecter des valeurs dans des
champs immuables (Qui ne change pas) et facilite les tests.

BeanFactory VS ApplicationContext 
BeanFactory est une interface représentant un conteneur, qui fournit et gère les instances du
Bean. L'implémentation par défaut instancie les Bean quand getBean () est appelé.
ApplicationContext est une interface représentant un conteneur contenant toutes les
informations, les métadonnées et les Bean dans l'application. L’implémentation par défaut
instancie les Bean avec impatience au démarrage de l'application

Bean de Spring
Les beans de spring sont des objets Java qui sont initialisés par le conteneur Spring IoC.
La portée du Bean par défaut dans Spring Framework
Par défaut, un Spring Bean est initialisé en tant que singleton.
La portée d'un Bean
Pour définir la portée de Spring Bean, nous pouvons utiliser l’annotation @Scope ou l'attribut
"scope" dans les fichiers de configuration XML. Il existe cinq portées prises en charge :
- Singleton
- Prototype
- Demande
- Session
- Session globale
la configuration basée sur Java de Spring
C'est l'une des façons de configurer les applications basées sur Spring de manière
sécurisée. C'est une alternative à la configuration basée sur XML.
Pouvons-nous avoir plusieurs fichiers de configuration Spring dans un projet?
Oui, dans les grands projets, plusieurs configurations de ressorts sont recommandées pour
augmenter la maintenabilité et la modularité.
Vous pouvez charger plusieurs fichiers de configuration Java:
1 @Configuration
2 @Import({MainConfig.class, SchedulerConfig.class})
3 public class AppConfig {
Ou charger un fichier XML qui contiendra toutes les autres configurations:
1 ApplicationContext context = new ClassPathXmlApplicationContext("spring-all.xml");
Et à l'intérieur de ce fichier XML, vous aurez:
1 <import resource="main.xml"/>
2 <import resource="scheduler.xml"/>

Spring Security
Spring Security est un module distinct du framework Spring qui se concentre sur la fourniture
de méthodes d'authentification et d'autorisation dans les applications Java. Il prend
également en charge la plupart des vulnérabilités de sécurité courantes, telles que les
attaques CSRF.
Pour utiliser Spring Security dans les applications Web, vous pouvez commencer par une
simple annotation: @EnableWebSecurity .
Nommez certains des modèles de conception utilisés dans le cadre de Spring ?

● Singleton Pattern: Haricots à l'échelle d'un singleton

● Modèle d'usine: classes d'usine de haricots

● Patron de prototype: Haricots à l'échelle du prototype

● Modèle d'adaptateur: Spring Web et Spring MVC

● Modèle de proxy: prise en charge de la programmation orientée aspect ressort

● Modèle de modèle de modèle: JdbcTemplate , HibernateTemplate, etc.

● Contrôleur frontal: Spring MVC DispatcherServlet

● Objet d'accès aux données: prise en charge de Spring DAO

● Contrôleur de vue du modèle: Spring MVC

Différence entre @Controller , @Component , @Repository et @Service Annotations

Selon la documentation officielle de Spring, @Component est un stéréotype générique pour

tout composant géré par Spring. @Repository , @Service et @Controller sont des

spécialisations de @Component pour des cas d'utilisation plus spécifiques, par exemple,

dans les couches de persistance, de service et de présentation, respectivement.

Jetons un coup d'œil aux cas d'utilisation spécifiques des trois derniers:

● @ Controller - indique que la classe joue le rôle de contrôleur et détecte

les annotations @RequestMapping dans la classe

● @ Service - indique que la classe contient la logique métier et appelle les méthodes

dans la couche du référentiel

● @ Repository - indique que la classe définit un référentiel de données; son travail

consiste à intercepter les exceptions spécifiques à la plate-forme et à les relancer

comme l'une des exceptions non vérifiées unifiées de Spring


Les annotations de Spring

@Autowired
Cette annotation est appliquée aux champs, aux méthodes setter et aux
constructeurs. L' annotation @Autowired injecte la dépendance d'objet implicitement.
Lorsque vous utilisez @Autowired sur des champs et que vous transmettez les valeurs des
champs à l'aide du nom de la propriété, Spring affecte automatiquement les champs aux
valeurs transmises.

@Configuration
Cette annotation est utilisée sur les classes qui définissent les beans. @configuration est
un fichier XML de configuration analogique - c'est une configuration utilisant la classe
Java. La classe Java annotée avec @Configuration est une configuration en elle-même et
aura des méthodes pour instancier et configurer les dépendances.

@bean
Cette annotation est utilisée au niveau de la méthode.  L' annotation @ Bean fonctionne
avec @Configuration pour créer des beans Spring. Comme mentionné
précédemment, @ Configuration aura des méthodes pour instancier et configurer les
dépendances. Ces méthodes seront annotées avec @ Bean . La méthode annotée avec
cette annotation fonctionne comme ID de bean et crée et renvoie le bean réel.

@lazy
Cette annotation est utilisée sur les classes de composants. Par défaut, toutes les
dépendances auto-générées sont créées et configurées au démarrage. Mais si vous voulez
initialiser un bean paresseusement, vous pouvez utiliser l' annotation @Lazy sur la
classe. Cela signifie que le bean sera créé et initialisé seulement quand il est demandé pour
la première fois. Vous pouvez également utiliser cette annotation sur les  classes
de @configuration . Ceci indique que toutes
les méthodes @ Bean dans @ Configuration doivent être paresseusement initialisées.

@ Component
Cette annotation est utilisée sur les classes pour indiquer un composant
Spring. L' annotation @Component marque la classe Java en tant que bean ou dit
composant afin que le mécanisme d'analyse des composants de Spring puisse être ajouté
au contexte de l'application.

Vous aimerez peut-être aussi