Java标准资源管理

Java URL协议扩展
目前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资源接口实现
针对不同类型资源接口,Spring内建了一些实现

Spring 资源加载器
资源加载器即给定资源路径,加载出Resource,Spring内建了以下资源加载器。

Spring通配路径资源加载器
即可以通过通配符方式,加载一系列资源。PathMatcher是路径匹配器,传入*.java这样的的pattern,会用PathMatcher去判断资源路径和pattern是否匹配的。

依赖注入Resource
- 基于
@Value实现
@Value("classpath:/...")
private Resource resource;
依赖注入ResourceLoader
applicationContext其实实现了ResourceLoader,所以注入的ResourceLoader其实就是applicationContext。

本文介绍了如何在Java中扩展URL协议,包括基于`java.net.URLStreamHandlerFactory`和`java.net.URLStreamHandler`的实现。同时,深入探讨了Spring的资源接口及其各种实现,如`Resource`、`ResourceLoader`,以及如何通过通配符加载资源。此外,还提到了如何使用`@Value`注解和`ResourceLoader`来依赖注入资源。
490

被折叠的 条评论
为什么被折叠?



