So lesen Sie Ihre eigene YAML-Datei (*****. Yml) in Java

Umgebung, die Sie verwenden

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

Erstellt Prozess (wahrscheinlich ein böser, aber bewegender)

Dies ist die Einstellungsdatei, die Sie lesen möchten ↓ ↓ ↓

[Projektstamm]/src/main/resources/test.yml


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

Dies ist die Java-Beschreibung ↓ ↓ ↓

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();
}

Ich dachte, ich sollte ResourceLoader verwenden, und zwar anfangs

@Autowired
ResourceLoader resourceLoader;

Ich habe die Deklaration ausprobiert, aber sie ist mit NullPointerException fehlgeschlagen, wahrscheinlich weil die Autowired-Annotation nicht funktioniert. Also habe ich es mit der DefaultResourceLoader-Klasse bekommen, die eine böse oder Brute-Force-Methode ist.

Erstellter Prozess (der, der doch nicht funktioniert hat)

`* Dieser Prozess funktionierte in Eclipse in der Entwicklungsumgebung, aber als ich ihn in War und in Tomcat platzierte, funktionierte er wahrscheinlich nicht mehr, weil sich die Verzeichnisstruktur geändert hatte. ``

Dies ist die Einstellungsdatei, die Sie lesen möchten ↓ ↓ ↓

[Projektstamm]/src/main/resources/test.yml


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

Dies ist die Java-Beschreibung ↓ ↓ ↓

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();
}

Der in ValueMap festgelegte Inhalt sieht folgendermaßen aus: ↓ ↓ ↓ ValueMapの内容.png

Ich konnte es so bekommen.

Abhängigkeit hinzufügen

Ich konnte es in der obigen Form bekommen, also als ich dachte "Welchen Krieg soll ich benutzen?"

Recommended Posts

So lesen Sie Ihre eigene YAML-Datei (*****. Yml) in Java
[Ruby] So konvertieren Sie eine CSV-Datei in Yaml (Yml)
Lesen der log4j-Einstellungsdatei in einem Java-Projekt, das in der JAR-Datei Memo zusammengestellt ist
So erstellen Sie Ihre eigene Anmerkung in Java und erhalten den Wert
So konvertieren Sie eine Datei in ein Byte-Array in Java
Gedanke: Wie man eine funktionale Schnittstelle für eigene Funktionen verwendet (Java)
Lesen Sie die Java-Eigenschaftendatei in C #
[Forge] So registrieren Sie Ihre eigene Entität und Ihr Entity Render in 1.13.2
Wie man JAVA in 7 Tagen lernt
Behandeln Sie Ihre eigenen Anmerkungen in Java
Protokollausgabe in Datei in Java
Wie verwende ich Klassen in Java?
So benennen Sie Variablen in Java
So verketten Sie Zeichenfolgen mit Java
So ermitteln Sie die Länge einer Audiodatei mit Java
So implementieren Sie die Datumsberechnung in Java
So implementieren Sie den Kalman-Filter mit Java
Mehrsprachige Unterstützung für Java Verwendung des Gebietsschemas
[Java] Verwendung der File-Klasse
Verstehen Sie die Java-Oberfläche auf Ihre eigene Weise
So fügen Sie eine JAR-Datei in ScalaIDE hinzu
So führen Sie eine Basiskonvertierung in Java durch
So erzwingen Sie Codierungskonventionen in Java
Einbetten von Janus Graph in Java
Lesen Sie die xlsx-Datei in Java mit Selenium
So erhalten Sie das Datum mit Java
Beispiel zum Entpacken einer gz-Datei in Java
Lesen Sie eine Zeichenfolge in einer PDF-Datei mit Java
So zeigen Sie eine Webseite in Java an
So erhalten Sie eine Klasse von Element in Java
So verbergen Sie Nullfelder als Antwort in Java
[Java] Dateien in src / main / resources lesen
So binden Sie mit einer Eigenschaftendatei in Spring Boot
So lösen Sie Ausdrucksprobleme in Java
Wie schreibe ich Java String # getBytes in Kotlin?
So komprimieren Sie eine JAVA-CSV-Datei und verwalten sie in einem Byte-Array
Lesen Sie JSON in Java
Java-Eigenschaftendatei lesen
<java> Zip-Datei lesen und direkt in String konvertieren
Aufrufen von Funktionen in großen Mengen mit Java Reflection
So erstellen Sie eine Java-Umgebung in nur 3 Sekunden
[Java] So lassen Sie den privaten Konstruktor in Lombok weg
So springen Sie von Eclipse Java zu einer SQL-Datei
Wie kann ich IBM Mainframe-Dateien in Java eingeben / ausgeben?
[Java] So extrahieren Sie den Dateinamen aus dem Pfad
Lesen von Java Memory Management und GC Viewer
So erstellen Sie einen Daten-URI (base64) in Java
So testen Sie den Bildschirm zum Hochladen von Dateien mit Spring + Selenium
So konvertieren Sie A in a und a in A mit logischem Produkt und Summe in Java
So verwalten Sie Java EE-Projekte in Eclipse
So debuggen Sie die generierte JAR-Datei mit Eclipse
Zusammenfassung der Implementierung von Standardargumenten in Java
Wie man altes Java (8er) in macOS 10.15 Catalina einfügt
Hinweise zur Verwendung regulärer Ausdrücke in Java
Speichern von Dateien mit der angegebenen Erweiterung unter dem in Java angegebenen Verzeichnis in der Liste
So erhalten Sie den Namen einer Klasse / Methode, die in Java ausgeführt wird