Passer au contenu principal

Spring Boot

Ouvrir dans ChatGPT

Spring Boot est un choix populaire pour construire des applications Java, offrant des injections de dépendances, une auto-configuration et un modèle de serveur embarqué. Lorsque vous utilisez Spring Boot avec webforJ, vous pouvez injecter des services, des référentiels et d'autres beans gérés par Spring directement dans vos composants d'interface utilisateur via l'injection par constructeur.

Lorsque vous utilisez Spring Boot avec webforJ, votre application fonctionne comme un JAR exécutable avec un serveur Tomcat embarqué au lieu de déployer un fichier WAR sur un serveur d'application externe. Ce modèle d'emballage simplifie le déploiement et s'aligne sur les pratiques de déploiement cloud-native. Le modèle de composants et le routage de webforJ fonctionnent aux côtés du contexte d'application de Spring pour gérer les dépendances et la configuration.

Créer une application Spring Boot

Vous avez deux options pour créer une nouvelle application webforJ avec Spring Boot : utiliser l'outil graphique startforJ ou la ligne de commande Maven.

Option 1 : Utiliser startforJ

La manière la plus simple de créer une nouvelle application webforJ est startforJ, qui génère un projet de démarrage minimal basé sur un archétype webforJ choisi. Ce projet de démarrage inclut toutes les dépendances requises, les fichiers de configuration et une mise en page pré-faite, afin que vous puissiez commencer à construire dessus immédiatement.

Lorsque vous créez une application avec startforJ, vous pouvez la personnaliser en fournissant les informations suivantes :

  • Métadonnées du projet de base (Nom de l'application, ID de groupe, ID de l'artefact)
  • Version de webforJ et version de Java
  • Couleur de thème et icône
  • Archétype
  • Saveur - Sélectionnez webforJ Spring pour créer un projet Spring Boot

Avec ces informations, startforJ créera un projet de base à partir de votre archétype choisi configuré pour Spring Boot. Vous pouvez choisir de télécharger votre projet en tant que fichier ZIP ou de le publier directement sur GitHub.

Option 2 : Utiliser la ligne de commande

Si vous préférez utiliser la ligne de commande, générez directement un projet Spring Boot webforJ à l'aide des archétypes webforJ officiels :

mvn -B archetype:generate \
-DarchetypeGroupId=com.webforj \
-DarchetypeArtifactId=webforj-archetype-hello-world \
-DarchetypeVersion=LATEST \
-DgroupId=org.example \
-DartifactId=my-app \
-Dversion=1.0-SNAPSHOT \
-Dflavor=webforj-spring

Le paramètre flavor indique à l'archétype de générer un projet Spring Boot au lieu d'un projet webforJ standard.

Cela crée un projet Spring Boot complet avec :

  • Configuration du POM parent de Spring Boot
  • Dépendance de démarrage Spring Boot pour webforJ
  • Classe principale de l'application avec @SpringBootApplication et @Routify
  • Vues d'exemple
  • Fichiers de configuration pour Spring et webforJ

Exécuter l'application Spring Boot

Un projet d'archétype définit son objectif Maven par défaut, donc mvn sans arguments compile l'application, démarre le frontend watch et exécute l'application :

mvn

L'application démarre avec un serveur Tomcat embarqué sur le port 8080 par défaut. Vos vues et routes webforJ existantes fonctionnent exactement comme avant, mais maintenant vous pouvez injecter des beans Spring et utiliser les fonctionnalités de Spring.

Configuration

Utilisez le fichier application.properties dans src/main/resources pour configurer votre application. Consultez Configuration des propriétés pour des informations sur les propriétés de configuration de webforJ.

Les paramètres application.properties suivants de webforJ sont spécifiques à Spring :

PropriétéTypeDescriptionPar défaut
webforj.servlet-mappingStringModèle de mappage d'URL pour le servlet webforJ./*
webforj.exclude-urlsListeModèles d'URL qui ne doivent pas être gérés par webforJ lorsqu'ils sont mappés à la racine. Lorsque webforJ est mappé au contexte racine (/*), ces modèles d'URL seront exclus du traitement par webforJ et pourront être gérés par des contrôleurs Spring MVC à la place. Cela permet aux points de terminaison REST et à d'autres mappages Spring MVC de coexister avec les routes webforJ.[]

Différences de configuration

Lorsque vous passez à Spring Boot, plusieurs aspects de configuration changent :

AspectwebforJ standardwebforJ Spring Boot
EmballageFichier WARJAR exécutable
ServeurExterne (Jetty, Tomcat)Tomcat embarqué
Commande d'exécutionmvn jetty:runmvn spring-boot:run
Configuration principalewebforj.conf uniquementapplication.properties + webforj.conf
Profilswebforj-dev.conf, webforj-prod.confProfils Spring avec application-{profile}.properties
Configuration du portDans la configuration du pluginserver.port dans les propriétés