Spring Boot
Spring Boot
Spring Boot
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.
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
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
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:
l’application
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
Injection de dépendance : injection d’un Bean dans un autre pour trouver automatiquement
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 ?
Différence entre @Controller , @Component , @Repository et @Service Annotations
Jetons un coup d'œil aux cas d'utilisation spécifiques des trois derniers:
les annotations @RequestMapping dans la classe
● @ Service - indique que la classe contient la logique métier et appelle les méthodes
@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.