目前java内建的URL协议有ftp,file,http等
有时候我们需要扩展协议,可以通过下面两种方法进行扩展
- 基于java.net.URLStreamHandlerFactory
- 基于java.net.URLStreamHandler: 比如我们要实现一个x协议,解析 x:///meta-INF/default.properties 文件,则在创建一个类名为Handler的类,放在 sun.net.www.protocol.${protocol} 包下,如果要自定义包名,可以通过 Java Properties java.protocol.handler.pkgs 指定实现类包名,如果多个包名,通过分隔符 | 。
Spring定义下面的资源接口
Spring资源接口实现针对不同类型资源接口,Spring内建了一些实现
资源加载器即给定资源路径,加载出Resource,Spring内建了以下资源加载器。
即可以通过通配符方式,加载一系列资源。PathMatcher是路径匹配器,传入*.java这样的的pattern,会用PathMatcher去判断资源路径和pattern是否匹配的。
依赖注入Resource- 基于 @Value 实现
@Value("classpath:/...")
private Resource resource;
依赖注入ResourceLoader
applicationContext其实实现了ResourceLoader,所以注入的ResourceLoader其实就是applicationContext。



