Tomcat:9 JDK:OpenJDK8(OPENJ9) spring-boot:2.0.5
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.
`* 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: ↓ ↓ ↓
Ich konnte es so bekommen.
Ich konnte es in der obigen Form bekommen, also als ich dachte "Welchen Krieg soll ich benutzen?"
Recommended Posts