Aujourd'hui, je partage avec vous la lecture des informations de configuration personnalisées; Récemment, il est prévu d'écrire des blogs, et j'écréquerai les articles sur Springboot et SpringCloud, car Springboot devrait avoir de nombreux chapitres, donc les articles de cloud devront attendre jusqu'à longtemps avant qu'ils puissent être écrits. La raison de partager ces deux articles est principalement de faciliter votre recherche d'informations et de jouer un rôle pratique à utiliser pour les amis;
• @ Value Tag Reading (le nœud d'application.yml peut être lu directement par défaut)
• Application de mappage d'entité.yml nœud
• Les nœuds de cartes d'entité pour les fichiers de configuration personnalisés
• L'entité mappe les valeurs des nœuds à plusieurs niveaux
@Value Tag Reading (le nœud d'application.yml peut être lu directement par défaut)
Tout d'abord, personnalisez les informations de nœud suivantes dans le fichier de configuration d'application.yml par défaut:
Shenniu: Nom: Shenniu 003
Ensuite, la valeur d'attribut est directement obtenue via la balise @Value. Afin de mieux afficher les données, l'interface A / conf / nom est définie sur l'interface:
@Value ("$ {shenniu.name}") Nom de la chaîne privée; @GetMapping ("/ conf / Defname") public String getDefName () {return this.name; }Après la course, les effets sont les suivants:
Node de mappage d'entité.yml
Pour mapper la valeur de fichier de configuration par défaut avec des classes d'entités, il vous suffit d'ajouter un préfixe de nom de propriété. Bien sûr, ce n'est que pour les propriétés dans le fichier application.yml par défaut:
@ Configuration @ ConfigurationProperties (prefix = "Shenniu") classe publique ShenniUConf {nom de chaîne privée; public String getName () {Nom de retour; } public void setName (string name) {this.name = name; } URL privée URL; URL public getUrl () {return URL; } public void setUrl (url url) {this.url = url; } chaîne privée des; public String getdes () {return des; } public void setDes (String des) {this.des = des; } URL de classe statique publique {private String blogurl; public String getBlogurl () {return blogurl; } public void setBlogurl (String blogurl) {this.blogurl = blogurl; }}}J'ai ajouté plusieurs propriétés à la classe d'entité, pour la commodité des tests ultérieurs; Pour configurer Application.yml, il vous suffit d'ajouter la balise @configurationproperties (prefix = "shenniu"), et la valeur du préfixe correspond au préfixe des attributs de fichiers de configuration personnalisés; Ici, l'interface / conf / nom est ajoutée pour sortir la valeur de l'objet mappé:
@Autowired Private ShenniUconf ShenniUconf; @GetMapping ("/ conf / name") public String getName () {return shenniUconf.getName (); }Le même effet que l'annotation @values est obtenu, ce qui signifie que les attributs personnalisés de l'entité et du fichier de configuration ont été assortis avec succès, et les noms d'attribut d'entité principaux doivent être cohérents avec les noms de nœud de fichier de configuration;
Nœuds de cartes d'entité pour les fichiers de configuration personnalisés
Il est très simple de lire les valeurs des propriétés dans application.yml. Parfois, vous devez personnaliser votre propre fichier de configuration, comme mes My.properties ici, et le contenu du fichier est le suivant:
Shenniu.des = j'aime ma mère mère Shenniu.url.blogurl = http: //www.a.com
L'entité de mappage est toujours utilisée ci-dessus, mais l'annotation @propertysource ("classPath: my.properties") doit être ajoutée à l'entité pour représenter la source de fichier personnalisée, et le préfixe est également nécessaire pour spécifier le préfixe de nœud; Nous ajoutons l'interface d'affichage suivante:
@Autowired Private ShenniUconf ShenniUconf; @Getmapping ("/ conf / des") String public getDes () {return shenniUconf.getdes (); }L'entité mappe la valeur des nœuds à plusieurs niveaux
Habituellement, les nœuds de configuration personnalisés ont des relations hiérarchiques, alors comment nos entités peuvent-elles obtenir des valeurs d'attribut à différents niveaux? En fait, il ne doit être exprimé que par des relations hiérarchiques de classe dans la classe d'entité, telles que l'attribut de classe d'entité URL dans l'entité Shenniuconf ci-dessus;
Voici une interface de test:
@Autowired Private ShenniUconf ShenniUconf; @Getmapping ("/ conf / myconf") public shenniuconf getBlogurl () {return shenniUconf; }Si rien de inattendu ne se produit, vous pouvez obtenir les résultats suivants:
Adresse GIT: https://github.com/shenniuboxing3 Nuget Publishing Package: https://www.nuget.org/profiles/shenniuboxing3
Résumer
Ce qui précède est la méthode de la lecture de nœuds de fichiers de configuration personnalisés de Springboot qui vous sont présentés par l'éditeur. J'espère que cela vous sera utile. Si vous avez des questions, laissez-moi un message. L'éditeur vous répondra à temps!