2 votes

Différence entre un serveur Express et un serveur intégré dans Spring Boot

J'ai commencé à apprendre Spring Boot en venant d'un environnement NodeJS/Express et je me demande quelle est la différence entre le serveur que nous créons nous-mêmes dans une application Express qui écoute sur un certain port, et le serveur Tomcat dans une application Spring aussi appelé conteneur ? Pourquoi ne pouvons-nous pas faire la même chose dans une application Spring Boot où nous créons le serveur nous-mêmes ?

const app = express();
app.listen(3000, () => console.log("Serveur à l'écoute sur le port 3000"));

2voto

Oliver Points 181

Bienvenue dans l'écosystème Spring. Nous espérons que votre séjour vous plaira!

Mon premier conseil, oubliez tout ce que vous savez sur Express car Spring est très différent. Je n'ai pas utilisé Express depuis un certain temps, mais je me souviens qu'il avait une approche très programmatique. Bien que cela soit possible avec Spring, l'approche la plus populaire est déclarative avec des annotations. Ou, si vous êtes vieux et aimez les vieilles technologies, vous pouvez tout configurer avec XML.

Qu'est-ce que Tomcat? Tomcat est une implémentation de diverses spécifications Jakarta EE (anciennement Java EE). Selon la version de Spring Boot, vous pouvez voir des packages commençant par jakarta ou javax. Tomcat implémente, entre autres, Jakarta Servlet, Server Pages, Expression Language, WebSocket, Annotations et Authentifications. Vous pouvez en apprendre davantage sur chaque spécification ici. Note : Spring Boot seul n'utilise pas forcément tous ces modules et la plupart du temps, Spring ajoute de nombreuses couches d'abstraction par-dessus de toute façon, vous travaillerez donc rarement directement avec Tomcat. Plus précisément, spring-boot-starter-tomcat est le module Spring qui utilise Tomcat, et est le plus souvent inclus en tant que dépendance transitive via spring-boot-starter-web.

Maintenant, pour répondre à votre question...

Spring Boot Web configure Tomcat pour vous. Vous pouvez certainement modifier ce comportement! Un moyen basique est à travers les propriétés de configuration. Tout ce qui est sous server.tomcat. Un bon IDE devrait proposer l'autocomplétion et vous montrer les options. Vous pouvez également changer l'adresse et le port du serveur Tomcat avec server.address et server.port. Une autre propriété populaire que les développeurs modifient est server.error.whitelabel.enabled. Ils le définissent sur false et fournissent leur propre page d'erreur. Voici un excellent exemple. Au fait, Baeldung propose de nombreux tutoriels et guides Spring gratuits. C'est un excellent endroit pour commencer. Ils proposent également des cours payants avec certifications.

À savoir, vous n'êtes pas obligé d'utiliser Tomcat. En savoir plus ici.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X