Serveur d'impression

Spring Boot – Propriétés d'application – Serveur d’impression

Le 15 juin 2020 - 7 minutes de lecture


Les propriétés d'application nous aident à travailler dans différents environnements. Dans ce chapitre, vous allez apprendre à configurer et à spécifier les propriétés d'une application Spring Boot.

Propriétés de la ligne de commande

L'application Spring Boot convertit les propriétés de la ligne de commande en propriétés Spring Boot Environment. Les propriétés de ligne de commande ont priorité sur les autres sources de propriétés. Par défaut, Spring Boot utilise le numéro de port 8080 pour démarrer le Tomcat. Laissez-nous apprendre comment changer le numéro de port en utilisant les propriétés de la ligne de commande.

Étape 1 – Après avoir créé un fichier JAR exécutable, exécutez-le à l'aide de la commande java –jar .

Étape 2 – Utilisez la commande indiquée dans la capture d'écran ci-dessous pour modifier le numéro de port de l'application Spring Boot en utilisant les propriétés de la ligne de commande.

Propriétés de la ligne de commande JARFILE

Remarque – Vous pouvez fournir plusieurs propriétés d'application en utilisant le délimiteur -.

Fichier de propriétés

Les fichiers de propriétés sont utilisés pour conserver le nombre «N» de propriétés dans un seul fichier pour exécuter l'application dans un environnement différent. Dans Spring Boot, les propriétés sont conservées dans le application.properties fichier sous le chemin de classe.

Le fichier application.properties se trouve dans le répertoire src / main / ressources annuaire. Le code de l'exemple application.properties le fichier est donné ci-dessous –



server.port = 9090
spring.application.name = demoservice

Notez que dans le code ci-dessus, le démoservice de l'application Spring Boot démarre sur le port 9090.

Fichier YAML

Spring Boot prend en charge les configurations de propriétés basées sur YAML pour exécuter l'application. Au lieu de application.properties, on peut utiliser application.yml fichier. Ce fichier YAML doit également être conservé dans le chemin de classe. L'échantillon application.yml le fichier est donné ci-dessous –



printemps:
   application:
      nom: demoservice
   serveur:
port: 9090

Propriétés externalisées

Au lieu de conserver le fichier de propriétés sous classpath, nous pouvons conserver les propriétés dans un emplacement ou un chemin différent. Lors de l'exécution du fichier JAR, nous pouvons spécifier le chemin du fichier de propriétés. Vous pouvez utiliser la commande suivante pour spécifier l'emplacement du fichier de propriétés lors de l'exécution du JAR –



-Dspring.config.location = C:  application.properties

Propriétés externalisées

Utilisation de @Value Annotation

L'annotation @Value est utilisée pour lire la valeur de la propriété de l'environnement ou de l'application dans le code Java. La syntaxe pour lire la valeur de la propriété est indiquée ci-dessous –



@Value ("$ property_key_name")

Regardez l'exemple suivant qui montre la syntaxe pour lire le spring.application.name valeur de la propriété dans la variable Java à l'aide de l'annotation @Value.



@Value ("$ spring.application.name")

Observez le code ci-dessous pour une meilleure compréhension –



import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
classe publique DemoApplication 
   @Value ("$ spring.application.name")
   nom de chaîne privé;
   public static void main (String[] args) 
      SpringApplication.run (DemoApplication.class, args);
   
   @RequestMapping (valeur = "/")
   nom de chaîne public () 
      nom de retour;
   
   

Remarque – Si la propriété n'est pas trouvée lors de l'exécution de l'application, Spring Boot lève l'exception Illegal Argument comme Impossible de résoudre l'espace réservé 'spring.application.name' dans la valeur "$ spring.application.name".

Pour résoudre le problème d'espace réservé, nous pouvons définir la valeur par défaut de la propriété en utilisant la syntaxe thr donnée ci-dessous –



@Value ("$ property_key_name: default_value")

@Value ("$ spring.application.name:demoservice")

Profil actif Spring Boot

Spring Boot prend en charge différentes propriétés en fonction du profil actif Spring. Par exemple, nous pouvons conserver deux fichiers distincts pour le développement et la production afin d'exécuter l'application Spring Boot.

Profil actif Spring dans application.properties

Voyons comment avoir le profil Spring actif dans application.properties. Par défaut, l'application. Les propriétés seront utilisées pour exécuter l'application Spring Boot. Si vous souhaitez utiliser des propriétés basées sur un profil, nous pouvons conserver un fichier de propriétés distinct pour chaque profil, comme indiqué ci-dessous –

application.properties



server.port = 8080
spring.application.name = demoservice

application-dev.properties



server.port = 9090
spring.application.name = demoservice

application-prod.properties



server.port = 4431
spring.application.name = demoservice

Lors de l'exécution du fichier JAR, nous devons spécifier le profil actif de ressort en fonction de chaque fichier de propriétés. Par défaut, l'application Spring Boot utilise le fichier application.properties. La commande pour définir le profil actif du ressort est illustrée ci-dessous –

Prod.Properties Active Dev

Vous pouvez voir le nom du profil actif sur le journal de la console comme indiqué ci-dessous –



2017-11-26 08: 13: 16.322 INFO 14028 --- [           
   main] com.tutorialspoint.demo.DemoApplication:
   Les profils suivants sont actifs: dev

Maintenant, Tomcat a démarré sur le port 9090 (http) comme indiqué ci-dessous –



2017-11-26 08: 13: 20.185 INFO 14028 --- [           
   main] s.b.c.e.t.TomcatEmbeddedServletContainer:
   Tomcat a démarré sur le (s) port (s): 9090 (http)

Vous pouvez définir le profil actif de production comme indiqué ci-dessous –

Profil actif de production

Vous pouvez voir le nom du profil actif sur le journal de la console comme indiqué ci-dessous –



2017-11-26 08: 13: 16.322 INFO 14028 --- [           
   main] com.tutorialspoint.demo.DemoApplication:
   Les profils suivants sont actifs: prod

Maintenant, Tomcat a commencé sur le port 4431 (http) comme indiqué ci-dessous –



2017-11-26 08: 13: 20.185 INFO 14028 --- [          
   main] s.b.c.e.t.TomcatEmbeddedServletContainer:
   Tomcat a démarré sur le (s) port (s): 4431 (http)

Profil actif de ressort pour application.yml

Voyons comment conserver le profil Spring actif pour application.yml. Nous pouvons conserver les propriétés du profil actif Spring dans le seul application.yml fichier. Pas besoin d'utiliser le fichier séparé comme application.properties.

Voici un exemple de code pour conserver les profils actifs Spring dans le fichier application.yml. Notez que le délimiteur (—) est utilisé pour séparer chaque profil dans le fichier application.yml.



printemps:
   application:
      nom: demoservice
serveur:
   port: 8080

---
printemps:
   profils: dev
   application:
      nom: demoservice
serveur:
   port: 9090

---
printemps:
   profils: prod
   application:
      nom: demoservice
serveur:
   port: 4431

Pour commander pour définir le profil actif de développement est donné ci-dessous –

Prod.Properties Active Dev

Vous pouvez voir le nom du profil actif sur le journal de la console comme indiqué ci-dessous –



2017-11-26 08: 41: 37.202 INFO 14104 --- [           
   main] com.tutorialspoint.demo.DemoApplication:
   Les profils suivants sont actifs: dev

Maintenant, Tomcat a commencé sur le port 9090 (http) comme indiqué ci-dessous –



2017-11-26 08: 41: 46.650 INFO 14104 --- [           
   main] s.b.c.e.t.TomcatEmbeddedServletContainer:
   Tomcat a démarré sur le (s) port (s): 9090 (http)

La commande pour définir le profil actif de production est donnée ci-dessous –

Profil actif de production

Vous pouvez voir le nom du profil actif sur le journal de la console comme indiqué ci-dessous –



2017-11-26 08: 43: 10.743 INFO 13400 --- [    
   main] com.tutorialspoint.demo.DemoApplication:
   Les profils suivants sont actifs: prod

Cela démarrera Tomcat sur le port 4431 (http) comme indiqué ci-dessous:



2017-11-26 08: 43: 14.473 INFO 13400 --- [     
   main] s.b.c.e.t.TomcatEmbeddedServletContainer:
   Tomcat a démarré sur le (s) port (s): 4431 (http)

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.