Existe-t-il une meilleure manière d’implémenter le fichier de propriétés avec des paires clé-valeur comme valeur à l’aide de Spring / Spring Boot? Je veux créer un fichier de propriétés où la clé contient une paire de paires clé-valeur en tant que valeur.
J’ai essayé ci-dessous la mise en œuvre: –
Fichier de propriétés: –
Fiat=model:pet,year:1996 Honda=model:dis,year:2000
Et j’ai sous la classe essayant de lire le fichier de propriétés.
@Component @PropertySources(@PropertySource("classpath:sample.properties")) public class PropertiesExtractor { @Autowired private Environment env; public Ssortingng pullValue(Ssortingng node) { Ssortingng value = env.getProperty(node); System.out.println(value);//for Fiat, i get syso as **model:pet,year:1996** }
}
Je dois parsingr les valeurs en utilisant Java pour obtenir la valeur individuelle. Est-ce la seule façon de mettre en œuvre cela?
Existe-t-il un meilleur moyen d’utiliser des fichiers de propriétés nesteds en Java?
Vous pouvez également utiliser des fichiers yaml avec Spring:
De cette façon, vous pouvez travailler avec
Fiat: model: pet year: 1996 Honda: model: dis year: 2000
Créez un object Car
ou un object avec une propriété model
et year
. Ensuite, créez quelque chose comme ça
@ConfigurationProperties("foo") public class CarProperties { private Map cars; // Getters/Setters }
Ajoutez add @EnableConfigurationProperties(CarProperties.class)
dans votre classe de configuration principale.
Ensuite, vous pouvez injecter cette configuration comme suit:
foo.cars.Fiat.model=pet foo.cars.Fiat.year=1996 foo.cars.Honda.model=dis foo.cars.Honda.year=2000
Il y a plus d’informations dans la doc.