Répertoire
Explication détaillée de la configuration YAML de Spring Cloud 1
Explication détaillée des propriétés 2
Paramètres personnalisés 2
Référence des paramètres 3
Nombre aléatoire 4
Paramètres externes 4
Configuration d'environnements multiples 5
YAML6
YAML a les règles de base suivantes : 6
Utilisez YAML pour terminer la configuration multi-environnement 7
Dans l'exemple précédent, nous avons utilisé src/main/resources/application.properties pour personnaliser notre projet. Cette méthode de configuration est simple et claire. ce que nous utilisons souvent
Mais en réponse aux besoins métier complexes, la configuration multi-environnement et programmatique ne peut pas être satisfaite
Pour cette raison, Spring Cloud nous fournit une méthode de configuration YAML pour enrichir notre fonction et simplifier notre développement tout en étant capable de distinguer simplement et clairement le contenu de la configuration.
Explication détaillée des propriétés
Paramètres personnalisés
Les paramètres personnalisés nous permettent de définir certains paramètres dans le fichier de configuration pour l'utilisation
dans le programme Nous utilisons ici les annotations Spring pour implémenter cette fonction
Créez d'abord une classe d'entité
@Component
public class Dalao {
@Value("${dalao.name}")
private String name;
@ Value("${dalao.yanzhi}")
private String yanzhi;
…..getter setter omis
@Component annotation :
Instancie un pojo ordinaire dans le conteneur Spring, ce qui équivaut à
dans le fichier de configuration Modifiez application.propertie et ajoutez les paramètres de configuration suivants
dalao.name=mahibing
dalao.yanzhi=100
Utiliser les paramètres personnalisés
Objets gérés par Spring
Laissez Spring injecter des objets. Ce qui doit être noté ici, c'est que si votre nouvel objet n'est pas géré par le conteneur Spring, il ne le sera pas automatiquement. Injectez-nous des valeurs d'attribut
@Autowired
privé Dalao dalao;
Test d'impression
Système .out.println(ToStringBuilder.reflectionToString(dalao));
System.out.println(ToStringBuilder.reflectionToString(new Dalao( )));
ToStringBuilder
ToStringBuilder est utilisé ici pour convertir l'objet en chaîne Pour utiliser cet objet, vous devez introduire la boîte à outils commons de Spring. lang3
Pom
< dependency>
Référence des paramètres
Les valeurs des paramètres dans application.propertie peuvent se référencer les unes les autres
Modifions la configuration précédente
dalao.name=mashibing
dalao.yanzhi=100
dalao.desc=${dalao.name} est un bon professeur, bing bu shi yin wei ${dalao.name} de yan zhi = ${dalao.yanzhi}
Ajouter
@Value("${dalao. desc}")
privé Chaîne desc;
Résultat de sortie
Nombre aléatoire
Pour certains besoins particuliers, nous ne voulons pas que la valeur de l'attribut soit définie sur une valeur fixe, comme un numéro de port aléatoire du serveur, certains nombres, etc. Nous pouvons utiliser ${radom} pour générer des int, long ou chaîne dans la configuration
${random.int()} = random int
${random.long} = random long
${random. int(50)} = dans les 50 Nombre aléatoire
${random.int(50,100)} = int entre 50 et 100 Nombre aléatoire
${random.value} = chaîne aléatoire
Utilisez
dalao.xiaodi.zhangyang.yanzhi=${random.int(50,100)}
dalao.xiaodi.zhangyang.xinqing =$ {random.value}
Entrée externe
Les outils de déploiement d'exploitation et de maintenance automatiques sont souvent utilisés dans l'architecture de microservices. Utilisez ces outils pour démarrer nos services.
Notre programme de démarrage Spring utilise généralement java –jar pour démarrer et exécuter
Pour le numéro de port du service ou d'autres valeurs qui doivent être déterminées lors du démarrage du service, en cas de codage en dur ou de randomisation dans la configuration ne peut évidemment pas répondre aux besoins
Nous pouvons utiliser des paramètres externes pour remplacer les paramètres personnalisés
Par exemple, déterminer temporairement le port de service :
java -jar demo-0.0.1-SNAPSHOT.jar --server.port=60
L'apparence change en même temps :
java -jar demo -0.0.1-SNAPSHOT.jar --server.port=60 --dalao.xiaodi.zhangyang.yanzhi
L'utilisation d'une méthode de configuration externe nous permet de modifier le port de service et le mot de passe de connexion à la base de données au démarrage du service , valeurs d'attributs personnalisés, etc.
Configuration de plusieurs environnements
Dans le développement réel, notre ensemble de codes peut être déployé sur plusieurs serveurs tels que le développement, les tests et la production en même temps. Des configurations personnalisées telles que les mots de passe de base de données dans chaque environnement sont inévitables, bien que nous puissions utiliser des paramètres externes pour le faire. Remplacez temporairement les valeurs d'attribut lorsque le service est démarré via un déploiement automatisé d'exploitation et de maintenance, mais cela signifie également une augmentation des coûts d'exploitation et de maintenance.
Nous pouvons utiliser plusieurs ensembles de configurations pour éviter de modifier différents attributs de configuration pour différents environnements
Utilisation :
Créez d'abord plusieurs ensembles de fichiers de configuration
Les règles de dénomination sont :
Application-*,properties
Application-dev,properties = environnement de développement
Application-test,properties= environnement de test
Application-test,properties= environnement de test
Application-prod,properties=Environnement de génération
Ensuite, nous définissons le commutateur dans application.properties quel ensemble de configuration prend effet
Utilisez spring.profiles.active=dev
Lors de l'utilisation de java –jar pour démarrer le service, nous pouvons modifier toute la configuration via des paramètres externes
java -jar demo-0.0.1-SNAPSHOT.jar -- spring.profiles.active= test
YAMLYAML est l'abréviation en langue étrangère de "YAML Ain't Markup Language, YAML n'est pas un langage de balisage"
Mais pour soulignez ceci. Le langage est centré sur les données, plutôt que sur le langage de balisage, et est renommé avec des mots de retour aux sources. Il s'agit d'un format de sérialisation de données intuitif qui peut être reconnu par les ordinateurs. C'est un langage de programmation hautement lisible et facile à lire par les humains. Il est facile d'interagir avec les langages de script et est utilisé pour exprimer des séquences de données.
Il s'agit d'un langage de description de données similaire à XML, un sous-ensemble du Standard Universal Markup Language, et sa syntaxe est beaucoup plus simple que XML.
YAML a les règles de base suivantes :1. Sensible à la casse
2. Utilisez l'indentation pour indiquer les relations hiérarchiques
3. , Il est interdit d'utiliser l'indentation par tabulation, seule la barre d'espace peut être utilisée
4. Il n'y a pas de limite sur la longueur d'indentation Tant que les éléments sont alignés, cela signifie que ces éléments appartiennent au même. niveau.
5. Utilisez # pour indiquer les commentaires
6. Les chaînes peuvent être marquées sans guillemets
Utilisez YAML pour terminer la configuration multi-environnementsMéthode 1 :
Fichier yml unique avec plusieurs fichiers de propriétés
Méthode 2 :Configurer toutes les variables dans un seul fichier yml
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!