SPRING04_核心组件接口分析Resource、具体实现类、ResourceLoader资源读取器及策略模式(上)

接下来我们将对SPRING中的核心接口进行一一详解


①. 核心组件接口分析Resource


  • ①. 在Spring给我们暴露对外的操作里面,要么写XML要么写注解,第一个进入我们视线就是Resource(资源)


SPRING04_核心组件接口分析Resource、具体实现类、ResourceLoader资源读取器及策略模式(上)


SPRING04_核心组件接口分析Resource、具体实现类、ResourceLoader资源读取器及策略模式(上)


  • ②. 下面将研究下这个Spring底层是如何定义这个Resource(资源)


②. Resource(资源)是个什么?


  • ①. 如何分析这个组件是个什么东西?可以在idea里面使用快捷键Ctrl+f12,看这个组件有什么方法就行了


SPRING04_核心组件接口分析Resource、具体实现类、ResourceLoader资源读取器及策略模式(上)


②. 按照类名Resource,它叫资源,按照方法它无外乎就来看看这个资源文件(getFile()),包括这个资源的路径在哪(getURL()),能不能打开(isOpen()),能不能读取(isReadable()),如果能读取就给资源准备一个通道(readableChannel() 这个是用nio来做的)


③. 这是Spring家定义的一个Resource资源接口,定义了一些能够快速的读取资源的办法


③. 关于Resource的具体实现类


  • ①. 这个Resource资源接口有了以后,看实现类就会发现 Spring它的这个资源接口暴露了很多东西


SPRING04_核心组件接口分析Resource、具体实现类、ResourceLoader资源读取器及策略模式(上)


②. ContextResource

(ContextResource.ClassRelativeContextResource):能从相对路径获取资源,只要是ContextResource这一块都是跟Web相关的,如果此时是一个Web项目,就可以从Web项目里面按照相对路径来获取资源)


③. HttpResource

(Spring的资源也能从HTTP里面去获取资源,也就是说可以请求的是远程服务器去获取资源,请求远程的资源就会被封装成HttpResource)


④. WritableResource

FileSystemResource:资源不仅能够存在类路径下,还能存到文件系统里面,比如我们的电脑硬盘

FileUrlResource:这里可以获取任意的位置,可以获取网络,磁盘等的资源

PathResource:有指定的一些路径,比如写过的classpath:xxxxx 地址


⑤. Spring能够加载资源的方式有很多。每一种不同的资源自然而然就对应资源下的一些接口。Spring暴露出来的Resource资源接口,所有的东西都是一个资源


上一篇:人工智能:学习用对抗神经网络加密来保护通信


下一篇:算法学习之路|计算谱半径