Java URL-Protokolle: classpath:/?
Ich habe gesehen, einige Frühlings-code, der ausgelesen config-Dateien und andere Ressourcen, die direkt von der runtime-classpath mit den classpath:/some/path/to/resource
URL-Protokoll.
Ist dies eine Feder konstruieren, oder ein Java-Konstrukt?
Ich finde keine Dokumentation neben dieser Frage - URL zum laden von Ressourcen aus dem classpath in Java, die nicht angeben, oder so.
Wenn es ein Java-Konstrukt, kann jemand Punkt mich zu seiner offiziellen Dokumentation?
- Ich schlage vor, zu Lesen über
ResourceLoader
Abstraktion: static.springsource.org/spring/docs/3.0.x/reference/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut Sie können immer registrieren-URL-Handler. Java hat auch eine file:///und jar: - handler. Auch Klasse.getResource wird standardmäßig Lesen aus dem classpath.
http://code.google.com/p/madura-classpath-protocol-handler/
offenbar ist es eine spring-Funktion.
"Sie können diese standard-Handler und zugehörigen Implementierungs-Klassen,die im JDK ist RT.JAR Datei. Suchen Sie für Klassen, deren voll Qualifizierter name beginnt mit Sonne.net.www.Protokoll.Zum Beispiel,die Klasse sun.net.www.Protokoll.http.Handler definiert das HTTP-Protokoll-handler. Klasse sun.net.www.Protokoll.ftp.Handler definiert der FTP-Protokoll-handler-Klasse."
http://java.sun.com/developer/onlineTraining/protocolhandlers/
"Exception in thread "main" java.net.MalformedURLException: unknown protocol: classpath"
(sagt java 1.6)
classpath
ist ein URL-handler definiert/eingetragen von Frühling, oder wenn es Schiffe mit Java? Nochmals vielen Dank!classpath: ist spezifisch auf den Frühling. Spring-resource-resolving-Mechanismus (dh.
PathMatchingResourcePatternResolver
oder andere imlementations) kennt die"classpath:"
und "classpath*:" Präfixe.Es braucht und löst in
ClassPathResource
Objekt(en), die passieren, zu implementieren FedernResource
- Schnittstelle.Den
Resource
- Schnittstelle, unter anderem, hat einegetInputStream()
Methode, die verwendet werden können, um den Inhalt, ohne sich bewusst zu sein, welche Art von Ressource es ist.Dies ist völlig getrennt von allen URL-Protokoll-handling, so dass Sie nicht unbedingt in der Lage sein, um direkt hinzuzufügen, dieses als Protokoll-handler.
Jedoch können Sie in der Lage sein, einige machen Gebrauch von der
ClassPathResource
Klasse selbst als Teil der Protokoll-handler.