[JAVA] Fügen Sie die Datei in die Eigenschaften eines Strings mit Spring XML-Konfiguration ein

Die Java-Konfiguration ist heutzutage normal, daher habe ich keine großen Probleme. Angenommen, Sie schreiben Spring-Batch in XML und möchten die SQL-Eigenschaft auf die SQL-Zeichenfolge festlegen, die in die Datei ausgegeben wurde.

FileCopyUtils [java - Wie lade ich eine Ressource und verwende ihren Inhalt als Zeichenfolge in Spring - Stapelüberlauf](https://stackoverflow.com/questions/14022839/how-do-i-load-a-resource-and-use -es-Inhalt-als-String-im-Frühling)

	<bean id="sql" class="java.lang.String">
		<constructor-arg>
			<bean class="org.springframework.util.FileCopyUtils"
				factory-method="copyToByteArray">
				<constructor-arg value="classpath:a.txt"
					type="java.io.InputStream" />
			</bean>
		</constructor-arg>
	</bean>

Erstellen Sie eine Klasse, die aus einer Datei liest und eine Zeichenfolge zurückgibt

Das obige ist alles mit XML abgeschlossen, aber es scheint ein wenig lang zu sein. Denken Sie also daran, Ihre eigene Bohne zu machen, die genau das tut.

import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.util.stream.Collectors;

import org.springframework.util.ResourceUtils;

public class ResourceToStringUtils {
	
	public String to(String location) throws IOException {
                ApplicationContext ctx = ...;
                BufferedReader in
                    = new BufferedReader(new InputStreamReader(resource.getInputStream(), Charset.defaultCharset()));
                return = in.lines().collect(Collectors.joining(System.lineSeparator()));

                // 2017/0/02 Nachtrag Ich habe wie folgt geschrieben, aber je nach Umgebung tritt FileNotFoundException auf.
                //Details werden separat geschrieben. vielleicht.
                //File file = ResourceUtils.getFile(location);
                //return Files.lines(file.toPath(), Charset.defaultCharset()).collect(Collectors.joining(System.lineSeparator()));


	}
}

Erstellen Sie eine Klasse, die den Speicherort von spring empfängt, den gesamten Inhalt der Datei liest, eine Zeichenfolge ausgibt und diese zurückgibt.

<bean id="resourceToStringUtils"
  class="kagamihoge.hogehoge.ResourceToStringUtils"></bean>

...
<property name="p" value="#{resourceToStringUtils.to('file:hoge.txt')}"></property>
...
<property name="p" value="#{resourceToStringUtils.to('classpath:foo.sql')}"></property>

Recommended Posts

Fügen Sie die Datei in die Eigenschaften eines Strings mit Spring XML-Konfiguration ein
So legen Sie Umgebungsvariablen in der Eigenschaftendatei der Spring-Boot-Anwendung fest
Überschreiben Sie die Bean-Definition in der Spring-XML-Konfigurationsdatei mit einer anderen XML
Schritte zum Ausführen von Spring Boot beziehen sich auf die Werte in der Eigenschaftendatei
Die Geschichte des einfachen String-Vergleichs in Java
Geben Sie die statische Ressourcencodierung in Spring Boot an
Greifen Sie auf die War-Datei im Stammverzeichnis von Tomcat zu
[Für Anfänger] DI ~ Die Grundlagen von DI und DI im Frühjahr ~
[Java] Holen Sie sich die Datei unabhängig von der Umgebung in das JAR
Als ich zu IntelliJ wechselte, gab es einen großen Unterschied in der Codierung der Eigenschaftendatei.
Greifen Sie dynamisch auf die durch die Zeichenfolge in Spring BeanWrapper angegebene Eigenschaft zu
Beispiel für eine minimale RESTful-API-Konfiguration mit Jersey + Spring Framework
Warum einen Zeilenumbruch am Ende der Datei einfügen?
Rufen Sie in Spring Boot eine Proxy-Instanz der Komponente selbst ab
Geben Sie das Datum (z. B. JJJJ-MM-TT) in die Protokolldatei ein, die per Logback ausgegeben wird
Lesen Sie die Datei unter dem Klassenpfad als Zeichenfolge mit spring
Korrigieren Sie den Namen der Kriegsdatei auf den in Maven festgelegten
Die Frühjahrsvalidierung war in der Reihenfolge von Form und BindingResult wichtig
Rufen Sie die öffentliche URL der privaten Datei von Flickr in Java ab
Formular, das den Wert des sich wiederholenden Elements in Spring MVC erhält
So ermitteln Sie die Länge einer Audiodatei mit Java
Ersetzen Sie den Inhalt der Jar-Datei
Lesen Sie die Java-Eigenschaftendatei in C #
Entpacken Sie die Zip-Datei in Java
Verschiedene Methoden der String-Klasse
Reihenfolge der Verarbeitung im Programm
Ich habe die Quelle von String gelesen
Filtern Sie das Ergebnis von BindingResult [Spring]
[Spring Boot] Liste der Validierungsregeln, die in der Eigenschaftendatei für Fehlermeldungen verwendet werden können
`SAXReader`: Ruft die XML-Datei mit dem im XPath-Format festgelegten Standard-Namespace ab
Die Geschichte, zu vergessen, eine Datei in Java zu schließen und zu scheitern
Untersuchen Sie den Inhalt der WAR-Datei, die von dem von Spring Initializr erstellten Projekt generiert wurde
Beispielprogramm, das den Hashwert einer Datei in Java zurückgibt
Entschlüsseln Sie die gesamte Bean in einer Eigenschaftendatei mit einigen verschlüsselten Werten
Die Geschichte der Begegnung mit Spring Custom Annotation
Holen Sie sich das Ergebnis von POST in Java
Die Identität der Schienenparameter [: id]
Statische Dateizugriffspriorität beim Spring Boot
Memorandum zum Herunterladen lokaler Dateien mit Spring Boot
Informationen zur ersten Anzeige von Spring Framework
Notation zum Einfügen von Variablen in eine Zeichenfolge
Die Geschichte des Schreibens von Java in Emacs
Java: Platzieren Sie die ResourceBundle-Eigenschaftendatei an einer beliebigen Stelle
Punkt 63: Beachten Sie die Leistung der Zeichenfolgenverkettung
[Java] [Spring] Testen Sie das Verhalten des Loggers
Maven-Konfigurationsproblem mit Spring pom.xml in Eclipse
Schreiben Sie die Bewegung von Rakefile in das Runbook
Ausgabe Bean als JSON im Frühjahr
Zeichenfolgenvergleich: Ich war in das Skill-Check-Problem von Paisa verwickelt
So überprüfen Sie die neueste Version von io.spring.platform für das Schreiben in pom.xml von Spring (STS)
Organisieren Sie die Unterschiede im Verhalten von @NotBlank, @NotEmpty und @NotNull mit Spring Boot + Thymeleaf
[Spring Boot] So rufen Sie Eigenschaften dynamisch aus einer in einer URL enthaltenen Zeichenfolge ab
Rufen Sie den in der Controller-Klasse von Spring Boot definierten Pfad als Liste ab
Der angehängte Dateiname wurde in der Spring Boot-Mail verstümmelt, also Gegenmaßnahmen
Ich möchte die MD5-Prüfsumme einer Datei in Java finden und das Ergebnis als Zeichenfolge in hexadezimaler Notation erhalten.