2015-10-26 1 views
0

Y at-il quelque chose de spécial à dire à Springboot de prendre en compte en tant que fichiers de configuration yaml à la place des fichiers de propriétés? J'utilise Maven et Springboot dans un projet, si je place le fichier application.properties dans le fichier de ressources, la configuration est automatiquement reconnue par Springboot. Cependant, le simple remplacement du fichier de propriétés par un fichier yml ne fonctionne pas, le fichier n'en tient plus compte.Comment remplacer les fichiers de propriétés par des fichiers yml dans Spring boot

Quelque chose à ajouter à dire explicitement à SpringBoot pour utiliser les fichiers yml?

Ci-dessous les deux fichiers:

application.properties:

# THYMELEAF (ThymeleafAutoConfiguration) 
spring.thymeleaf.check-template-location=true 
spring.thymeleaf.prefix=/WEB-INF/views/ 
spring.thymeleaf.suffix=.html 
spring.thymeleaf.mode=LEGACYHTML5 
spring.thymeleaf.encoding=UTF-8 
spring.thymeleaf.content-type=text/html 
spring.thymeleaf.cache=false 

et application.yml

spring: 
    profiles: 
    active: ${dario.environment:dev} 
    thymeleaf: 
    check-template-location: true 
    thymeleaf.prefix: /WEB-INF/views/ 
    thymeleaf.suffix: .html 
    thymeleaf.mode: LEGACYHTML5 
    spring.thymeleaf.encoding: UTF-8 
    spring.thymeleaf.content-type: text/html 
    cache: false 
+0

Hey, comment avez-vous écrit actif: $ {dario.environment: dev} dans votre fichier yml? Où est votre fichier yml en lisant ceci? – Jesse

+0

Une propriété système, c'est-à-dire provenant de la ligne de commande -Ddario.environment = prod, si je ne spécifie aucune propriété, dev sera pris par défaut. J'espère que cela aide – fgonzalez

Répondre

1

Si vous faites référence à la section 'Utilisation YAML au lieu des propriétés' au printemps Boot documentation de référence, il dit que Spring Boot devrait le ramasser automatiquement étant donné que vous avez la bibliothèque SnakeYAML sur votre chemin de classe.

Ayant Cela dit, il indique également

Si vous utilisez SnakeYAML 'POMs de démarreur sera fourni automatiquement par printemps-boot-démarreur

+0

Merci, j'ai SnakeYAML sur le classpath, je viens de trouver le problème. Le format de mon fichier YML n'était pas correct. Je répétais le mot thymeleaf. Fixé :) – fgonzalez