Java >> Tutoriel Java >  >> Tag >> Spring

Les choses qui rendent la botte de printemps géniale !

Pour chaque développeur Java, Hibernate, Spring sont des termes courants. Bien que récemment, il y ait eu un ajout à cette liste de "Spring-boot". De nos jours, Spring Boot est l'un des frameworks open source les plus utilisés. Par conséquent, si vous êtes un développeur Java, vous devez connaître Spring Boot. Dans ce didacticiel, nous couvrirons les fonctionnalités de démarrage srping dans les détails.

Spring-boot peut être utilisé pour créer des applications d'entreprise autonomes et Web avec un minimum d'effort. La partie la plus importante de ce cadre est qu'il rend le développement très pratique en supprimant le code passe-partout long et répétitif et les étapes de configuration courantes.

Vaut-il la peine d'apprendre Spring Boot ?

Oui bien sûr. Java est l'un des langages de programmation les plus populaires et les plus utilisés. Java avec ressort est la combinaison la plus puissante. Après la sortie de Spring Boot, il a encore plus de popularité. La botte de printemps a rendu les choses très faciles. Donc, apprendre la botte de printemps vous aidera certainement.

Quelle est la configuration de base requise pour configurer un projet Spring Boot ?

La configuration système requise pour la configuration du projet Spring Boot est

Java Java 8 ou supérieur
Cadre de printemps Spring Framework 5.2.8.RELEASE ou supérieur
Maven ou Gradle Maven 3.3 + ou niveau 6.3+

Ce qui rend Spring Boot génial !

Raisons pour lesquelles la botte à ressort est la plus utilisée :

  • Configuration de projet simple et rapide
  • Applications Spring prêtes pour la production prêtes en quelques étapes simples
  • Application facile à comprendre et à développer
  • Augmente la productivité :réduit le temps de développement du code redondant
  • La configuration automatique est possible
  • Gestion des dépendances gérée en interne
  • Fournir des dépendances "de départ" avisées pour simplifier la configuration de votre build

Fonctionnalités de Spring-Boot :

  1. Gestion automatique des dépendances à l'aide des démarreurs Spring Boot
  2. Point d'entrée de l'application indiqué par @SpringBootApplication
  3. Configurations automatiques
  4. Analyse des composants
  5. Configuration externalisée
  6. Prise en charge JPA des données Spring prêtes à l'emploi

1. Gestion automatique des dépendances à l'aide des démarreurs Spring Boot :

Tout projet, même un projet autonome, dépend de certaines bibliothèques pour quelque chose. Ces bibliothèques sont disponibles sous forme de dépendances/jars. Il arrive parfois que même ces bibliothèques dépendent d'autres bibliothèques. La plupart du temps, ils ont besoin de versions spécifiques. Si la dépendance associée est manquante ou si les versions ne sont pas compatibles, l'application ne fonctionne pas comme prévu.

Nous ne pouvons pas nier que la gestion des dépendances est difficile. Spring Boot résout ce problème en fournissant une section de gestion des dépendances.

Spring Boot fournit des packages de démarrage qui incluent des jars et les versions requises, nous n'en avons donc plus besoin 🙂 . Il configure les versions de dépendance en fonction de la version. Si nous avons besoin d'une version spécifique, nous pouvons bien sûr spécifier la version pour la dépendance, mais ce n'est pas recommandé.

Le point à retenir est que chaque version de Spring Boot a des versions différentes. Si nous mettons à niveau la version Spring Boot, les dépendances associées seront automatiquement mises à niveau.

Tous les démarreurs Spring Boot sont nommés spring-boot-starter-[starter-name] .
par exemple:spring-boot-starter-web ou spring-boot-starter-data-jpa

Vous pouvez visiter la liste des démarreurs pour voir tous les démarrages de printemps disponibles.

2. Point d'entrée de l'application désigné par @SpringBootApplication :

Pour le projet, à mesure qu'il grandit, il est difficile de trouver le point d'entrée du projet après un certain temps. Comme une application Spring Boot est une application Java, le point d'entrée est la méthode Main. Lorsque nous donnons le contrôle à la chaîne de démarrage en appelant la méthode SpringApplication.run, cette méthode principale est trouvée et exécutée. Pour exécuter la méthode (), nous devons transmettre le nom de la classe qui est le composant principal et le tableau args. Le composant principal est la classe avec l'annotation @SpringBootApplication.

123456 @SpringBootApplication public class DemoApplication {      public static void main(String[] args) {          SpringApplication.run(DemoApplication. class , args);      } }

Notez que annotation @SpringBootApplication inclut les annotations @EnableAutoConfiguration, @ComponentScan et @SpringBootConfiguration. Cela signifie que si nous ajoutons l'annotation @SpringBootApplication, ces annotations seront ajoutées automatiquement.

Nous pouvons exécuter l'application Spring Boot de différentes manières.

  • En utilisant IDE comme application Java
  • Utiliser un outil de construction comme maven comme mvn spring-boot:run

Nous devrions voir la bannière de démarrage une fois l'application lancée. Nous pouvons également personnaliser la bannière de démarrage Spring-Boot.

3. Paramétrage automatique :

Un autre problème auquel chaque développeur a été confronté lors du développement d'un projet est celui des configurations étendues. Les configurations pour la base de données, la voie de migration, l'API de repos, la sécurité, etc. sont requises dans toutes les applications. Celles-ci peuvent être parfois excessives et chronophages.

Mais spring-boot résout également cette situation. Spring Boot effectue automatiquement les configurations en fonction des dépendances ajoutées. Par exemple, si nous ajoutons la dépendance spring-boot-starter-web à notre projet, le serveur Web, les servlets, etc. seront configurés automatiquement.

Nous devons utiliser l'annotation @EnableAutoConfiguration pour indiquer à partir du démarrage srping que la configuration automatique est requise.

Remarque :Comme nous l'avons lu précédemment, l'annotation @SpringBootApplication inclura l'annotation @EnableAutoConfiguration.

4. Analyse des composants :

L'une des caractéristiques les plus importantes de Spring est l'injection de dépendances. Pour détecter les classes pour l'injection automatique, Spring utilise des annotations stéréotypées spéciales telles que @Component, @Controller, @Service et @Repository.

Afin de créer des objets de ces classes annotées et de les injecter, Spring a besoin de savoir où ils se trouvent. Une façon de le faire est d'utiliser l'annotation @ComponentScan.

Dans l'application de démarrage Spring, l'annotation @SpringBootApplication ajoute l'annotation @ComponentScan avec le paramètre par défaut. Par conséquent, par défaut, Spring Boot analyse les classes annotées sous le package actuel. Pour cette raison, il est recommandé de placer notre classe principale dans le package racine ou supérieur.

Nous pouvons également remplacer l'annotation @ComponentScan pour spécifier les packages à analyser. Si nous devons analyser des chemins autres que le package racine. Il y a plusieurs façons de le faire, certaines sont comme ci-dessous,

1 @ComponentScan( "com.stacktrace.guru" )
1 @ComponentScan({ "com.stacktrace.guru.package1" , "com.stacktrace.guru.package2" })

Pour plus de détails, visitez:ComponentScan java doc

5. Configuration externalisée

Il existe fréquemment des scénarios dans lesquels certaines données utilisées dans une application sont différentes pour différents environnements. Par exemple, le numéro de port, où l'application est déployée, est différent pour l'environnement de développement et de production. Dans de tels cas, les coder en dur dans le code pourrait être difficile à gérer et à modifier.

Spring Boot permet à plusieurs options d'externaliser ces propriétés. Nous pouvons utiliser ces propriétés configurées à l'aide de l'annotation @Value ou en liant des propriétés à des objets à l'aide de @ConfigurationProperties.

Les propriétés de configuration peuvent être fournies à l'aide de fichiers de configuration, d'une ligne de commande ou d'un paramètre système.

La configuration des fichiers peut être fournie en ajoutant des fichiers comme application.properties , application.yaml ou dans le classpath. En général, le répertoire src/main/resources est utilisé pour stocker les fichiers de configuration.

exemple de fichier application.properties
12 server.port = 8090 spring.application.name = demo-application
exemple de fichier application.yaml
12345 spring:      application:          name: demo-application      server:          port: 8090

Notez que:

Nous pouvons également changer le nom du fichier de configuration en utilisant spring.config.name propriété.

L'emplacement du fichier de configuration peut être modifié à l'aide de spring.config.location propriété de l'environnement.

6. Prise en charge des données JPA prêtes à l'emploi :

Spring data jpa est l'un des supports les plus importants fournis par spring boot. Spring Boot fournit des données Spring JPA en utilisant Hibernate comme fournisseur JPA par défaut. Ces fonctionnalités peuvent être activées en ajoutant simplement spring-boot-starter-data-jpa dépendance et en fournissant la source de la base de données.

Spring Data JPA fournit une abstraction de référentiel, ce qui signifie que nous n'avons plus à nous soucier de l'écriture de l'implémentation des classes de référentiel. Il suffit d'ajouter un nom de méthode significatif dans l'interface.

Lecture rapide des voies

  • Spring Boot est le framework open source le plus utilisé par la communauté Spring
  • Cela aide à créer un projet prêt pour la production en quelques étapes faciles et simples
  • Supprime les processus répétés et complexes
  • Augmente la productivité et réduit le temps de développement
  • Il prend en charge la gestion automatique des dépendances à l'aide des démarreurs Spring Boot
  • Auto configure la plupart des choses comme la base de données, l'API REST, la sécurité, etc.
  • Il est livré avec un support par défaut pour les données de printemps jpa

Sujets connexes

  • Guide de configuration du projet Spring Boot
  • Tutoriel Spring Data JPA pour débutants
  • Tutoriel débutant pour Spring data Java
  • Nom de méthode pour la requête d'objets imbriqués
  • Génération de bannières personnalisées Spring Boot

Balise Java