④. ResourceLoader(资源读取器)
①. ResourceLoader也是一个接口,所以框架都是先定义好了接口抽象,有了接口,就知道了它所有的思想,有了接口就有一万种实现,这也是开闭原则最大的体现
②. 通过源码分析可以看到ResourceLoader接口一个设计模式的关键词叫Strategy interface (策略接口)
. 资源加载器的作用?
它的作用就是根据给的一个路径是不是得到一个资源:Resource getResource(String location)
Spring的源代码也写的非常清楚,资源获取的方法有很多
随便在Resource getResource(String location);这个方法的参数里面传路径,都能够进行一个解析
④. ResourceLoader的实现类
DefaultResourceLoader:这是默认的资源读取器
ClassRelativeResourceLoader:能读取类路径相对路径的资源
FileSystemResourceLoader:能读取文件系统的资源
ServletContextResourceLoader:能读取web项目的资源
PathMatchingResourcePatternResolver:能获取进行路径匹配的资源
能看到ResourceLoader资源加载器 它唯一的一个作用就是在Resource
getResource(String location);这个方法的参数里面传路径,都能够进行一个解析。
⑤. ResourceLoader资源加载器是一个策略接口,体现在哪?
这个坏境类是AbstractApplicationContext,会在构造方法中对资源加载器进行赋值处理
资源加载策略(ResourceClassLoader)
资源加载策略实现(ResourceClassLoader的具体实现类)