定位资源
1、配置文件封装
spring的配置文件读取是通过ClassPathResource进行封装的。如new ClassPathResource("bean.xml")
java中,将不同来源的资源抽象为url,通过注册不同的handler,处理不同来源的资源的处理逻辑。如file: ,http:, jar:,然而,没有默认定义相对classPath, servletContext等资源的handler。比如 "classpath:" ,因此spring对其内部使用的资源实现了自己的抽象结构,Resource接口来封装底层资源
对于不同来源资源文件都有对应的resource实现
文件(FileSystemResource)
ClassPath资源(ClassPathResource)
URL资源(URLResource)
InputStream资源( InputStreamResource)
Byte数组(ByteArrayResource)
等