Comment lire votre propre fichier YAML (*****. Yml) en Java

Environnement que vous utilisez

Tomcat:9 JDK:OpenJDK8(OPENJ9) spring-boot:2.0.5

Processus créé (probablement un mal mais émouvant)

C'est le fichier de configuration que vous voulez lire ↓ ↓ ↓

[Racine du projet]/src/main/resources/test.yml


value:
  item1:
    aaa: 12345
    bbb: 22345
  item2:
    dog: poti
    cat: tama

Ceci est la description Java ↓ ↓ ↓

xxxxx.java


DefaultResourceLoader resourceLoader;
InputStreamReader reader;

try {
	resourceLoader = new DefaultResourceLoader();
	Resource resource = resourceLoader.getResource("classpath:test.yml");
	reader = new InputStreamReader(resource.getInputStream());

    Yaml yaml = new Yaml();
    map = (Map<String, Object>) yaml.load(reader);
    
    System.out.println(ValueMap.toString());

} catch (Exception e) {
	e.printStackTrace();
}

J'ai pensé que je devrais utiliser ResourceLoader, et initialement

@Autowired
ResourceLoader resourceLoader;

J'ai essayé la déclaration, mais elle a échoué avec NullPointerException, probablement parce que l'annotation Autowired ne fonctionne pas. Donc, je l'ai obtenu en utilisant la classe DefaultResourceLoader, qui est une méthode de force méchante ou brute.

Processus créé (celui qui n'a pas fonctionné après tout)

`` * Ce processus fonctionnait en eclipse dans l'environnement de développement, mais quand je l'ai mis dans War et l'ai placé dans Tomcat, il a cessé de fonctionner probablement parce que la structure des répertoires a changé. ''

C'est le fichier de configuration que vous voulez lire ↓ ↓ ↓

[Racine du projet]/src/main/resources/test.yml


value:
  item1:
    aaa: 12345
    bbb: 22345
  item2:
    dog: poti
    cat: tama

Ceci est la description Java ↓ ↓ ↓

xxxxx.java


InputStreamReader reader;

try {
	reader = new InputStreamReader(ClassLoader.getSystemResourceAsStream("test.yml"));

	Yaml yaml = new Yaml();
	Map<String, String> ValueMap = (Map<String, String>) yaml.load(reader);

	System.out.println(ValueMap.toString());

} catch (Exception e) {
	e.printStackTrace();
}

Le contenu défini dans ValueMap ressemble à ceci ↓ ↓ ↓ ValueMapの内容.png

J'ai pu l'obtenir comme ça.

Ajouter une dépendance

J'ai pu l'obtenir sous la forme ci-dessus, alors quand j'ai pensé "Quelle guerre dois-je utiliser?"

Recommended Posts

Comment lire votre propre fichier YAML (*****. Yml) en Java
[Ruby] Comment convertir un fichier CSV en Yaml (Yml)
Comment lire le fichier de paramètres log4j dans un projet Java assemblé dans un fichier jar Memo
Comment créer votre propre annotation en Java et obtenir la valeur
Comment convertir un fichier en tableau d'octets en Java
Réflexion: Comment utiliser une interface fonctionnelle pour vos propres fonctions (java)
Lire le fichier de propriétés Java en C #
[Forge] Comment enregistrer votre propre Entité et Entité Render dans 1.13.2
Comment apprendre JAVA en 7 jours
Gérez vos propres annotations en Java
Enregistrer la sortie dans un fichier en Java
Comment utiliser les classes en Java?
Comment nommer des variables en Java
Comment concaténer des chaînes avec Java
Comment obtenir la longueur d'un fichier audio avec Java
Comment implémenter le calcul de la date en Java
Comment implémenter le filtre de Kalman par Java
Prise en charge multilingue de Java Comment utiliser les paramètres régionaux
[Java] Comment utiliser la classe File
Comprenez l'interface java à votre manière
Comment ajouter un fichier jar dans ScalaIDE
Comment faire une conversion de base en Java
Comment appliquer les conventions de codage en Java
Comment intégrer Janus Graph dans Java
Lire le fichier xlsx en Java avec Selenium
Comment obtenir la date avec Java
Exemple pour décompresser le fichier gz en Java
Lire une chaîne dans un fichier PDF avec Java
Comment afficher une page Web en Java
Comment obtenir une classe depuis Element en Java
Comment masquer les champs nuls en réponse en Java
[Java] Lire les fichiers dans src / main / resources
Comment se lier avec un fichier de propriétés dans Spring Boot
Comment résoudre les problèmes d'expression en Java
Comment écrire Java String # getBytes dans Kotlin?
Comment compresser un fichier JAVA CSV et le gérer dans un tableau d'octets
Lire JSON en Java
Lire le fichier de propriétés Java
<java> Lire le fichier Zip et le convertir directement en chaîne
Comment appeler des fonctions en bloc avec la réflexion Java
Comment créer un environnement Java en seulement 3 secondes
[Java] Comment omettre le constructeur privé dans Lombok
Comment passer d'Eclipse Java à un fichier SQL
Comment entrer / sortir des fichiers mainframe IBM en Java?
[Java] Comment extraire le nom du fichier du chemin
Comment lire la gestion de la mémoire Java et GC Viewer
Comment créer un URI de données (base64) en Java
Comment tester l'écran de téléchargement de fichiers avec Spring + Selenium
Comment convertir A en A et A en A en utilisant le produit logique et la somme en Java
Comment Git gérer les projets Java EE dans Eclipse
Comment déboguer le fichier jar généré avec Eclipse
Résumé de la mise en œuvre des arguments par défaut en Java
Comment mettre l'ancien Java (série 8) dans macOS 10.15 Catalina
Remarques sur l'utilisation des expressions régulières en Java
Comment enregistrer des fichiers avec l'extension spécifiée sous le répertoire spécifié en Java dans la liste
Comment obtenir le nom d'une classe / méthode exécutée en Java