1. 看一下源码整体结构:
抓住主要点Resource、ResourceLoader和ResourceEditor
其中Resource作用
Interface for a resource descriptor that abstracts from the actual type of underlying resource, such as a file or class path resource.
<p>An InputStream can be opened for every resource if it exists in physical form, but a URL or File handle can just be returned for
certain resources. The actual behavior is implementation-specific.
ResourceLoader的作用
Strategy interface for loading resources (e.. class path or file system resources). An {@link org.springframework.context.ApplicationContext}
is required to provide this functionality, plus extended {@link org.springframework.core.io.support.ResourcePatternResolver} support.
<p>{@link DefaultResourceLoader} is a standalone implementation that is usable outside an ApplicationContext, also used by {@link ResourceEditor}.
<p>Bean properties of type Resource and Resource array can be populated from Strings when running in an ApplicationContext, using the particular context's resource loading strategy.
ResourceEditor作用
{@link java.beans.PropertyEditor Editor} for {@link Resource}descriptors, to automatically convert {@code String} locations e.g. {@code file:C:/myfile.txt} or {@code classpath:myfile.txt} to{@code Resource} properties instead of using a {@code String} location property.<p>The path may contain {@code ${...}} placeholders, to be resolved as {@link org.springframework.core.env.Environment} properties:
e.g. {@code ${user.dir}}. Unresolvable placeholders are ignored by default.<p>Delegates to a {@link ResourceLoader} to do the heavy lifting,
by default using a {@link DefaultResourceLoader}.
微信公众号: 架构师日常笔记 欢迎关注!