SPRING04_核心组件接口分析Resource、具体实现类、ResourceLoader资源读取器及策略模式(下)

简介: SPRING04_核心组件接口分析Resource、具体实现类、ResourceLoader资源读取器及策略模式(下)

④. ResourceLoader(资源读取器)


①. ResourceLoader也是一个接口,所以框架都是先定义好了接口抽象,有了接口,就知道了它所有的思想,有了接口就有一万种实现,这也是开闭原则最大的体现


②. 通过源码分析可以看到ResourceLoader接口一个设计模式的关键词叫Strategy interface (策略接口)


微信图片_20220108224645.png


. 资源加载器的作用?


它的作用就是根据给的一个路径是不是得到一个资源:Resource getResource(String location)


Spring的源代码也写的非常清楚,资源获取的方法有很多


随便在Resource getResource(String location);这个方法的参数里面传路径,都能够进行一个解析


微信图片_20220108224746.png


微信图片_20220108224751.png


④. ResourceLoader的实现类


DefaultResourceLoader:这是默认的资源读取器


ClassRelativeResourceLoader:能读取类路径相对路径的资源


FileSystemResourceLoader:能读取文件系统的资源


ServletContextResourceLoader:能读取web项目的资源


PathMatchingResourcePatternResolver:能获取进行路径匹配的资源


能看到ResourceLoader资源加载器 它唯一的一个作用就是在Resource


getResource(String location);这个方法的参数里面传路径,都能够进行一个解析。


微信图片_20220108224816.png


⑤. ResourceLoader资源加载器是一个策略接口,体现在哪?


这个坏境类是AbstractApplicationContext,会在构造方法中对资源加载器进行赋值处理


资源加载策略(ResourceClassLoader)


资源加载策略实现(ResourceClassLoader的具体实现类)


微信图片_20220108224837.png


相关文章
|
10天前
|
XML 缓存 Java
spring源码剖析-spring-beans(内部核心组件,BeanDefinition的注册,BeanWapper创建)
spring源码剖析-spring-beans(内部核心组件,BeanDefinition的注册,BeanWapper创建)
38 10
|
10天前
|
设计模式 Java Spring
spring源码设计模式分析(五)-策略模式
spring源码设计模式分析(五)-策略模式
|
7天前
|
负载均衡 Java 网络架构
实现微服务网关:Zuul与Spring Cloud Gateway的比较分析
实现微服务网关:Zuul与Spring Cloud Gateway的比较分析
21 5
|
10天前
|
XML 存储 Java
spring源码刨析-spring-beans(内部核心组件,beanDefinition加载过程)
spring源码刨析-spring-beans(内部核心组件,beanDefinition加载过程)
|
10天前
|
消息中间件 设计模式 缓存
spring源码设计模式分析(四)-观察者模式
spring源码设计模式分析(四)-观察者模式
|
10天前
|
设计模式 Java Spring
spring源码设计模式分析(六)-模板方法模式
spring源码设计模式分析(六)-模板方法模式
|
9天前
|
XML 存储 Java
Spring-源码深入分析(二)
Spring-源码深入分析(二)
|
9天前
|
XML 设计模式 Java
Spring-源码深入分析(一)
Spring-源码深入分析(一)
|
7天前
|
SQL 监控 druid
springboot-druid数据源的配置方式及配置后台监控-自定义和导入stater(推荐-简单方便使用)两种方式配置druid数据源
这篇文章介绍了如何在Spring Boot项目中配置和监控Druid数据源,包括自定义配置和使用Spring Boot Starter两种方法。
下一篇
无影云桌面