🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
`ResourceLoader`接口旨在由可返回(即加载)资源实例的对象实现。 ~~~java public interface ResourceLoader { Resource getResource(String location); } ~~~ 所有的应用上下文都实现了`ResourceLoader`接口,因此,所有应用上下文都可以获取`Resource`的实例.当你在特定的应用上下文中调用`getResource()`时,且没有指定前缀,会获取一个符合应用的上下文`Resource `,如下,假设在`ClassPathXmlApplicationContext `上下文中调用 ~~~ Resource template = ctx.getResource("some/resource/path/myTemplate.txt"); ~~~ 返回的将是一个`ClassPathResource`.如果是在`FileSystemXmlApplicationContext `环境下调用方法,则返回的将是一个`FileSystemResource`.在`WebApplicationContext`环境下得到`ServletContextResource`. 也可以通过使用前缀`classpath:`,强制返回`ClassPathResource`: ~~~ Resource template = ctx.getResource("classpath:some/resource/path/myTemplate.txt"); ~~~ 下面的表格说明字符串转为资源的策略: | Prefix | Example | Explanation | | --- | --- | --- | | classpath: | classpath:com/myapp/config.xml | Loaded from the classpath | | file: | file:///data/config.xml | Loaded as a URL, from the filesystem. | | http: | http://myserver/logo.png | Loaded as a URL. | | (none) | /data/config.xml | Depends on the underlying ApplicationContext. |