Resource源码分析
parent
114560b608
commit
7b428b58bd
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
- [org.springframework.core.io.Resource](#orgspringframeworkcoreioresource)
|
- [org.springframework.core.io.Resource](#orgspringframeworkcoreioresource)
|
||||||
- [一、知识储备](#一知识储备)
|
- [一、知识储备](#一知识储备)
|
||||||
- [二、简介](#二简介)
|
- [二、基本描述](#二基本描述)
|
||||||
- [三、主要功能](#三主要功能)
|
- [三、主要功能](#三主要功能)
|
||||||
- [四、接口源码](#四接口源码)
|
- [四、接口源码](#四接口源码)
|
||||||
- [五、主要实现](#五主要实现)
|
- [五、主要实现](#五主要实现)
|
||||||
|
@ -20,7 +20,6 @@
|
||||||
- [自定义资源加载和处理](#自定义资源加载和处理)
|
- [自定义资源加载和处理](#自定义资源加载和处理)
|
||||||
- [八、常见问题](#八常见问题)
|
- [八、常见问题](#八常见问题)
|
||||||
|
|
||||||
|
|
||||||
### 一、知识储备
|
### 一、知识储备
|
||||||
|
|
||||||
1. **I/O知识**
|
1. **I/O知识**
|
||||||
|
@ -30,7 +29,7 @@
|
||||||
3. **URL和URI概念**
|
3. **URL和URI概念**
|
||||||
+ 这对于理解如何从网络或其他协议中加载资源是必要的。
|
+ 这对于理解如何从网络或其他协议中加载资源是必要的。
|
||||||
|
|
||||||
### 二、简介
|
### 二、基本描述
|
||||||
|
|
||||||
`Resource` 是 Spring 框架中用于简化和统一对底层资源(如文件、classpath 资源、URL 等)的访问的一个核心接口。它为不同来源的资源提供了一个共同的抽象,并隐藏了具体资源访问的细节。在 Java 开发中,资源的访问是常见的需求,如读取配置文件、图片、音频等。但 Java 的标准库为不同类型的资源提供了不同的访问机制:例如,对于文件系统中的资源,我们可能使用 `java.io.File`;对于 classpath 中的资源,我们可能使用 `ClassLoader` 的 `getResource` 或 `getResourceAsStream` 方法;对于网络资源,我们可能使用 `java.net.URL`。这些不同的机制意味着我们需要了解和使用多种方式来访问资源,这导致的问题是代码复杂性增加、重复代码以及可能的错误。为了提供一个统一、简化和更高级的资源访问机制,Spring 框架引入了 `Resource` 接口,这个接口为所有的资源提供了一个统一的抽象。
|
`Resource` 是 Spring 框架中用于简化和统一对底层资源(如文件、classpath 资源、URL 等)的访问的一个核心接口。它为不同来源的资源提供了一个共同的抽象,并隐藏了具体资源访问的细节。在 Java 开发中,资源的访问是常见的需求,如读取配置文件、图片、音频等。但 Java 的标准库为不同类型的资源提供了不同的访问机制:例如,对于文件系统中的资源,我们可能使用 `java.io.File`;对于 classpath 中的资源,我们可能使用 `ClassLoader` 的 `getResource` 或 `getResourceAsStream` 方法;对于网络资源,我们可能使用 `java.net.URL`。这些不同的机制意味着我们需要了解和使用多种方式来访问资源,这导致的问题是代码复杂性增加、重复代码以及可能的错误。为了提供一个统一、简化和更高级的资源访问机制,Spring 框架引入了 `Resource` 接口,这个接口为所有的资源提供了一个统一的抽象。
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue