文档章节

Spring 加载Resource

vvvvvvvv
 vvvvvvvv
发布于 04/12 11:27
字数 364
阅读 1
收藏 0

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

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将处理并返回一个Resource

Bean资源加载器

由于bean没能访问应用程序上下文的访问权限,所以需要实现ResourceLoaderAware来保存一个ResourceLoader实例来加载Resource

@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。

结论

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

© 著作权归作者所有

上一篇: Java中的锁分类
下一篇: Mac Homebrew教程
vvvvvvvv
粉丝 4
博文 49
码字总数 14754
作品 0
青浦
私信 提问
【Spring】BeanFactory解析bean详解

在该文中来讲讲Spring框架中BeanFactory解析bean的过程,该文之前在小编原文中有发表过,要看原文的可以直接点击原文查看,先来看一个在Spring中一个基本的bean定义与使用。 Spring配置文件r...

weknow
2017/04/05
0
0
【Spring】BeanFactory解析bean详解

本文是Spring源码分析中的一篇,来讲讲Spring框架中BeanFactory解析bean的过程,先来看一个在Spring中一个基本的bean定义与使用。(也可以点击公号查看) Spring配置文件root.xml定义如下: ...

weknow
2018/09/09
86
0
【死磕 Spring】—– IOC 之 IOC 初始化总结

原文出自:http://cmsblogs.com 前面 13 篇博文从源码层次分析了 IOC 整个初始化过程,这篇就这些内容做一个总结将其连贯起来。 在前文提过,IOC 容器的初始化过程分为三步骤:Resource 定位...

chenssy
2018/10/09
0
0
老司机教你通过Spring来读取文件的各种姿势

1.概述 在java日常业务开发中我们经常有可能读取一些自定义配置或者文件。比如说公私钥文件、一些固定的词典文件之类的,这一类统称为资源(Resource)。很多情况下都是自己写IO来读取。今天...

码农小胖哥
07/26
240
0
【死磕 Spring】—– IOC 之 Spring 统一资源加载策略

原文出自:http://cmsblogs.com 在学 Java SE 的时候我们学习了一个标准类 ,该类在 Java SE 中的定位为统一资源定位器(Uniform Resource Locator),但是我们知道它的实现基本只限于网络形...

chenssy
2018/09/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7 部署 redis 5.0.6 集群

环境 操作系统: CentOS7.7,关闭 firewalld 和 selinux Redis: 5.0.6 master 实例 10.0.4.110:6371 10.0.4.110:6372 10.0.4.110:6373 slave 实例 10.0.4.111:6371 10.0.4.111:6372 10.0.4.1......

俊赛潘安-才比管乐
34分钟前
28
0
怎么录制电脑上视频素材的声音

随着短视频的不断发展人们越来越喜欢利用空闲时间观看一些短视频用以打发零碎的时间,不少人发现这个机遇也匆匆走上制作短视频的道路,在制作短视频时配音是至关重要的,那你知道怎么在视频素...

cenfeng123
43分钟前
6
0
[springboot 开发单体web shop] 6. 商品分类和轮播广告展示

商品分类&轮播广告 因最近又被困在了OSGI技术POC,更新进度有点慢,希望大家不要怪罪哦。 上节 我们实现了登录之后前端的展示,如: 接着,我们来实现左侧分类栏目的功能。 商品分类|Produc...

IsaacZhang
43分钟前
5
0
java 静态代码块,代码块,构造方法执行顺序

回顾一下java的执行顺序 public class Demo { public Demo() { super(); System.out.println("this is Demo"); } static { System.out.println("this is static"); } { System.out.println("......

漫步行者
今天
7
0
滴滴面试题答案思路

1.mysql 1.1.介绍下介绍下innodb的索引类型、数据结构 普通索引,唯一索引,主键索引:也就是聚簇索引,全文索引(FULLTEXT),聚集索引,非聚集索引等。 数据结构B+树: B+树特点 1.矮胖型,...

指尖Coding
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部