Java URL协议:类路径:/?
我看到一些Spring代码使用Java URL协议:类路径:/?,java,spring,classpath,Java,Spring,Classpath,我看到一些Spring代码使用classpath:/some/path/to/resourceURL协议直接从运行时类路径读取配置文件和其他资源 这是Spring构造还是Java构造 除了这个问题之外,我找不到任何文件-,这两个问题都没有说明 如果它是一个Java构造,有人能给我指一下它的官方文档吗?你可以随时注册URL处理程序。Java还有一个文件:///和jar:handler。默认情况下,class.getResource也将从类路径读取 显然,这是一个春天的特点 “您可以在JDK的RT
classpath:/some/path/to/resource
URL协议直接从运行时类路径读取配置文件和其他资源
这是Spring构造还是Java构造
除了这个问题之外,我找不到任何文件-,这两个问题都没有说明
如果它是一个Java构造,有人能给我指一下它的官方文档吗?你可以随时注册URL处理程序。Java还有一个文件:///和jar:handler。默认情况下,class.getResource也将从类路径读取 显然,这是一个春天的特点 “您可以在JDK的RT.JAR文件中看到这些标准处理程序和相关的实现类。查找完全限定名以sun.net.www.protocol开头的类。例如,类sun.net.www.protocol.http.Handler定义http协议处理程序。类sun.net.www.protocol.ftp.Handler定义ftp协议处理程序类。“ 线程“main”java.net.MalformedURLException:未知协议:类路径中出现异常
(说java 1.6)类路径:是特定于spring的。spring的资源解析机制(即
PathMatchingResourcePatternResolver
或其他组件)知道“classpath:”
和“classpath*:”前缀
它接受这一点并解析为ClassPathResource
对象,这些对象恰好实现了springsResource
接口
Resource
接口还有一个getInputStream()
方法,可以用来获取内容,而不必知道它是什么类型的资源
这与任何URL协议处理完全不同,因此您不一定能够直接将其添加为协议处理程序
但是,您可以将
ClassPathResource
类本身用作协议处理程序的一部分。很酷的提示!我不知道您可以注册自己的处理程序(+1)!但是你知道classpath
是Spring定义/注册的URL处理程序还是Java附带的吗?再次感谢!我认为这是Spring的一个内置功能(查看那里的链接),我建议阅读ResourceLoader
抽象: