回忆一下ApplicationContext与BeanFactory的关系图
接下来讲述AppliactionContext实现的其他的接口与协议
Spring框架内部使用Resource接口作为所有资源的抽象和访问接口。 其中 classPathResource的一个特定类型的实现,代表的是位于Classpath中的实现。如果需要实现自定义的Resource,可以直接扩展AbstractResource抽象类,然后根据当前具体特征,覆盖相应的方法就可以了
ResourceLoader 用来查找和定位资源 ,该接口中最主要的是 Resource getResource(String location) 方法
实现类之一:
DefaultResourceLoader 定位资源规则:
1.查找[Classpath:]打开尝试构造ClasspathResource类资源并返回
2.通过URL定位资源
实现类之二:
FileSysetmResourceLoader 通过覆写了getResourceBPath()方法,使之从我恩件系统加载资源并以FileSystemResource类型返回。
ResourceLoader的扩展实现:ResourcePatternResolver :引入了新的协议前缀[ClassPath*:],同时支持批量查找Resource资源