Spring 加载Resource

Spring 资源加载提供了一个很是通用的方法getResource(),用于从文件系统,类路径,URL等位置获取资源(文本文件,媒体文件,图像文件...)。能够从Spring上下文中获取getResource()方法。app

1. 文件系统

Resource resource = appContext.getResource("file:c:\\testing.txt");

2. URL路径

Resource resource = appContext.getResource("url:http://www.yourdomain.com/testing.txt");

3. 类路径

Resource resource = appContext.getResource("classpath:test/testing.txt");

你只需指定资源的位置,Spring将处理并返回一个Resourcedom

Bean资源加载器

因为bean没能访问应用程序上下文的访问权限,因此须要实现ResourceLoaderAware来保存一个ResourceLoader实例来加载Resourcethis

@Service
public class CustomerService implements ResourceLoaderAware
{
	private ResourceLoader resourceLoader;
	
	public void setResourceLoader(ResourceLoader resourceLoader) {
		this.resourceLoader = resourceLoader;
	}
		
	public Resource getResource(String location){
		return resourceLoader.getResource(location);
	}
}

这样经过CustomerService保持了一个ResourceLoader的实例,经过ResourceLoader提供的getReource()方法来加载Resource。url

结论

若是没有这个 getResource() 方法,您将须要使用不一样的解决方案来处理不一样的资源,例如文件系统资源的File对象,URL资源的URL对象。Spring真的用这个超级通用的 getResource() 方法作得很好,它确实节省了咱们处理资源的时间。spa

相关文章
相关标签/搜索