接下来我们将对SPRING中的核心接口进行一一详解
①. 核心组件接口分析Resource
- ①. 在Spring给我们暴露对外的操作里面,要么写XML要么写注解,第一个进入我们视线就是Resource(资源)
- ②. 下面将研究下这个Spring底层是如何定义这个Resource(资源)
②. Resource(资源)是个什么?
- ①. 如何分析这个组件是个什么东西?可以在idea里面使用快捷键Ctrl+f12,看这个组件有什么方法就行了
②. 按照类名Resource,它叫资源,按照方法它无外乎就来看看这个资源文件(getFile()),包括这个资源的路径在哪(getURL()),能不能打开(isOpen()),能不能读取(isReadable()),如果能读取就给资源准备一个通道(readableChannel() 这个是用nio来做的)
③. 这是Spring家定义的一个Resource资源接口,定义了一些能够快速的读取资源的办法
③. 关于Resource的具体实现类
- ①. 这个Resource资源接口有了以后,看实现类就会发现 Spring它的这个资源接口暴露了很多东西
②. ContextResource
(ContextResource.ClassRelativeContextResource):能从相对路径获取资源,只要是ContextResource这一块都是跟Web相关的,如果此时是一个Web项目,就可以从Web项目里面按照相对路径来获取资源)
③. HttpResource
(Spring的资源也能从HTTP里面去获取资源,也就是说可以请求的是远程服务器去获取资源,请求远程的资源就会被封装成HttpResource)
④. WritableResource
FileSystemResource:资源不仅能够存在类路径下,还能存到文件系统里面,比如我们的电脑硬盘
FileUrlResource:这里可以获取任意的位置,可以获取网络,磁盘等的资源
PathResource:有指定的一些路径,比如写过的classpath:xxxxx 地址
⑤. Spring能够加载资源的方式有很多。每一种不同的资源自然而然就对应资源下的一些接口。Spring暴露出来的Resource资源接口,所有的东西都是一个资源