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


相关文章
|
6天前
|
XML Java 数据格式
探索Spring之利剑:ApplicationContext接口
本文深入介绍了Spring框架中的核心接口ApplicationContext,解释了其作为应用容器的功能,包括事件发布、国际化支持等,并通过基于XML和注解的配置示例展示了如何使用ApplicationContext管理Bean实例。
31 6
|
15天前
|
XML Java 数据格式
Spring Core核心类库的功能与应用实践分析
【12月更文挑战第1天】大家好,今天我们来聊聊Spring Core这个强大的核心类库。Spring Core作为Spring框架的基础,提供了控制反转(IOC)和依赖注入(DI)等核心功能,以及企业级功能,如JNDI和定时任务等。通过本文,我们将从概述、功能点、背景、业务点、底层原理等多个方面深入剖析Spring Core,并通过多个Java示例展示其应用实践,同时指出对应实践的优缺点。
40 14
|
1月前
|
负载均衡 算法 Java
除了 Ribbon,Spring Cloud 中还有哪些负载均衡组件?
这些负载均衡组件各有特点,在不同的场景和需求下,可以根据项目的具体情况选择合适的负载均衡组件来实现高效、稳定的服务调用。
70 5
|
2月前
|
存储 安全 Java
|
2月前
|
Java BI API
spring boot 整合 itextpdf 导出 PDF,写入大文本,写入HTML代码,分析当下导出PDF的几个工具
这篇文章介绍了如何在Spring Boot项目中整合iTextPDF库来导出PDF文件,包括写入大文本和HTML代码,并分析了几种常用的Java PDF导出工具。
558 0
spring boot 整合 itextpdf 导出 PDF,写入大文本,写入HTML代码,分析当下导出PDF的几个工具
|
2月前
|
XML Java 应用服务中间件
【Spring】运行Spring Boot项目,请求响应流程分析以及404和500报错
【Spring】运行Spring Boot项目,请求响应流程分析以及404和500报错
212 2
|
3月前
|
负载均衡 Java 网络架构
实现微服务网关:Zuul与Spring Cloud Gateway的比较分析
实现微服务网关:Zuul与Spring Cloud Gateway的比较分析
157 5
|
3月前
|
XML 存储 Java
Spring-源码深入分析(二)
Spring-源码深入分析(二)
|
2月前
|
自然语言处理 JavaScript Java
Spring 实现 3 种异步流式接口,干掉接口超时烦恼
本文介绍了处理耗时接口的几种异步流式技术,包括 `ResponseBodyEmitter`、`SseEmitter` 和 `StreamingResponseBody`。这些工具可在执行耗时操作时不断向客户端响应处理结果,提升用户体验和系统性能。`ResponseBodyEmitter` 适用于动态生成内容场景,如文件上传进度;`SseEmitter` 用于实时消息推送,如状态更新;`StreamingResponseBody` 则适合大数据量传输,避免内存溢出。文中提供了具体示例和 GitHub 地址,帮助读者更好地理解和应用这些技术。
375 0
|
2月前
|
存储 NoSQL Java
Spring Boot项目中使用Redis实现接口幂等性的方案
通过上述方法,可以有效地在Spring Boot项目中利用Redis实现接口幂等性,既保证了接口操作的安全性,又提高了系统的可靠性。
56 0